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. PublisherTxConceptSelect, identifiersTxIdentifier. Create (from the list’s Add) reuses this form + client — TEDY.01.2. - Concepts (
CodeSystemConceptsTab) = theCodeSystemConceptstable.
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
| Section | Content | Widget |
|---|---|---|
| General | id, uri, name, publisher (VS-resolved), content, caseSensitive, description | FieldItem grid; publisher via TxConceptDisplay |
| Versions | version + status chip + release date | FieldItem list |
| Concepts | Code · Display · Status, paged + search | CodeSystemConcepts (AppTable); display via conceptDisplay (designations) |
Actions
- Back to list.
- Edit / Delete / new version / duplicate / create-supplement —
CodeSystem.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
- View shows General, Versions, and a paged Concepts table for the id.
- Concept display resolves from designations in the active language.
- Concept search filters via
textContains. - 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