Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help


id: TEDY.01.3 template: resource-management module: tedy state: Proposed traces-from: [] source-refs:

  • reference-editor/app/src/app/resources/code-system/containers/summary
  • reference-editor/app/src/app/resources/code-system/containers/concepts
  • helex-tx/modules/tedy/frontend/src/pages/CodeSystemDetail.tsx
  • helex-tx/modules/tedy/frontend/src/components/CodeSystemConcepts.tsx
  • helex-tx/libs/tedy/src/lib/client/conceptClient.ts
  • helex-tx/libs/tedy/src/lib/utils/conceptDisplay.ts author: TEDY bootstrap created: 2026-08-08 updated: 2026-08-08

TEDY.01.3 – Code System View

Feature grouping

Child of TEDY.01 – Code System (Common Spec). Siblings: TEDY.01.1 List, TEDY.01.2 Add.

Description

View a single Code System through the TedyResourceShell (the ResourceContext equivalent — see ../../resource-context-gap.md): a header (icon + localized title + version-selector slot) + a tab strip, with each tab a routed page. R1 tabs (read-only): Summary · Metadata · Concepts. (Properties/Provenance/Checklist follow later phases.)

Shared Page Component

TedyResourceShell (@helex/tedy) = EntityHeader + PageTabs (merged) + routed <Outlet>. CodeSystemShell loads the CodeSystem (?decorate=true) once and shares it via Outlet context; load errors surface via showError + an AppResult error state (no silent redirect). Tabs:

  • Summary (CodeSystemSummary) = CodeSystemInfoWidget + CodeSystemVersionsWidget + concepts preview.
  • Metadata (CodeSystemMetadata) = full field view + edit (R3): ResourceForm (hideHeader) + useDataController; Save → saveCodeSystem (POST /ts/code-systems/transaction, metadata only) → invalidate + back to view. Publisher TxConceptSelect, identifiers TxIdentifier. Create (from the list’s Add) reuses this form + client — TEDY.01.2.
  • Concepts (CodeSystemConceptsTab) = the CodeSystemConcepts table.

Glossary Terms

Per TEDY.01 § Glossary.

Business Feature Sitemap

flowchart LR
    ROOT[TEDY.01] --> V[TEDY.01.3 View]
    L[TEDY.01.1 List] -->|row / ID| V
    C[TEDY.01.2 Add] -->|save| V

Data Model

Reuses TEDY.01 § Data Model (CodeSystem + versions + concepts/designations).

Sitemap / Navigation

Nested routes under the shell: /tedy/code-systems/{id} → (index) → /summary · /tedy/code-systems/{id}/summary · /metadata · /concepts. Tab clicks navigate between them; Back → list. (Properties/Provenance/Checklist tabs added later.)

Sections

SectionContentWidget
Generalid, uri, name, publisher (VS-resolved), content, caseSensitive, descriptionFieldItem grid; publisher via TxConceptDisplay
Versionsversion + status chip + release dateFieldItem list
ConceptsCode · Display · Status, paged + searchCodeSystemConcepts (AppTable); display via conceptDisplay (designations)

Actions

  • Back to list.
  • Edit / Delete / new version / duplicate / create-supplementCodeSystem.write. Pending in TEDY (read-only Phase-0).

StoryBook Component Contract

TedyResourceForm (mode="view", icon, title, loading, onBack) with SectionHeading + FieldItem sections; CodeSystemConcepts below (AppTable, AppInput search, server pagination). Error → AppResult status="error".

API Endpoints

GET /ts/code-systems/{id}?decorate=true · GET /ts/code-systems/{id}/concepts?limit&offset&textContains&displayLanguage · GET /fhir/CodeSystem/$lookup (publisher display). See TEDY.01 § Common API Surface.

Security / Permissions

View: authenticated (dev guest). Edit actions: CodeSystem.write. See TEDY.01 § Shared Privileges.

Non-functional Requirements

Detail + concepts load < 2s; concepts paged (20/page); large systems (e.g. atc ≈ 6.9k) must not eager-load.

Business Tests

  1. View shows General, Versions, and a paged Concepts table for the id.
  2. Concept display resolves from designations in the active language.
  3. Concept search filters via textContains.
  4. A failed load shows an error state (not a silent redirect).

Source Code References

TEDY: libs/tedy/.../components/TedyResourceShell.tsx; module pages/code-system/{CodeSystemShell,CodeSystemSummary,CodeSystemMetadata,CodeSystemConceptsTab}.tsx + widgets/{CodeSystemInfoWidget,CodeSystemVersionsWidget}.tsx; components/CodeSystemConcepts.tsx; conceptClient.ts, conceptDisplay.ts. reference-editor: resources/resource/components/resource-context.component.* + code-system summary/concepts containers.

Evolution — ResourceContext shell

This Phase-0 view (flat TedyResourceForm) is a fraction of reference-editor’s screen, which is a tabbed ResourceContext dashboard (Summary·Metadata·Concepts·Properties·Provenance·Checklist) of widget cards. The plan to close that gap — TedyResourceShell + summary/versions/concepts/tasks/related-artifacts/value-sets widgets, phased R1–R5 — is in ../../resource-context-gap.md. When R1 lands, this spec becomes the Summary tab of the shell.

Out of Scope

  • Write/edit, version lifecycle, concept authoring, properties/provenances/checklists tabs (future specs; see the gap doc).

Traces

  • parent: TEDY.01