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.1 template: resource-list module: tedy state: Proposed traces-from: [] source-refs:

  • reference-editor/app/src/app/resources/code-system/containers/list/code-system-list.component.html
  • reference-editor/app/src/app/resources/_lib/code-system/services/code-system-lib.service.ts
  • helex-tx/modules/tedy/frontend/src/pages/CodeSystemList.tsx
  • helex-tx/libs/tedy/src/lib/client/codeSystemClient.ts author: TEDY bootstrap created: 2026-08-08 updated: 2026-08-08

TEDY.01.1 – Code System List

Feature grouping

Child of TEDY.01 – Code System (Common Spec). Siblings: TEDY.01.2 Add, TEDY.01.3 View. Shared vocabulary, data model, value sets, privileges, and API surface are defined in the root — not repeated here.

Description

List screen for terminology Code Systems (shared ResourceList pattern): header title + search + primary action (Add), filter side panel, column configuration, master-detail preview. Step-1 scan: _scans/tedy.01-code-system-list.md.

Glossary Terms

Per TEDY.01 § Glossary.

Business Feature Sitemap

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

Data Model

Reuses TEDY.01 § Data Model. No new entities (read-only over GET /ts/code-systems).

Sitemap / Navigation

/tedy/code-systems — row/ID → /tedy/code-systems/{id} (TEDY.01.3). Federation host mounts under /tedy.

Attributes (columns)

Order mirrors reference-editor (ID · LAST VERSION · TITLE · PUBLISHER · STATUS · COUNT):

ColumnSourcelockedNotes
IDcs.id → linkyesto TEDY.01.3
Versioncs.lastVersion.versionnothe reference platform “LAST VERSION”
Titlelocalize(cs.title) | cs.nameno
Publishercs.publisher via publisher VSnouseValueSetExpand/resolveLocalizedDisplay, fallback raw
Statuscs.lastVersion.status chipnodraft/active/retired
Conceptscs.lastVersion.conceptsTotalnothe reference platform “COUNT”

Filters

Mirror reference-editor (publisher · status · space) + content:

FilterControl→ the reference platform param
PublisherTxConceptSelect(url=publisher VS)publisher
StatusTxConceptSelect(url=publication-status VS)versionStatus
SpaceAppSelect (from GET /spaces)spaceId
ContentAppSelect (content-mode codes)content

Search box → textContains.

Actions

  • Add code system (Manual / Import FHIR) — gated on CodeSystem.write. Pending in TEDY (write flow not built; see TEDY.01.2).

StoryBook Component Contract

ResourceList<CodeSystem>title tedy.codeSystem.titlePlural; columns per Attributes; dataSource useCodeSystems; rowKey cs.id; searchtextContains; filter (AppFilterBar) per Filters; pagination server-side (limit/offset, meta.total); detailView custom Code System preview + Open link, showMetadata:false; columnConfigurable.

API Endpoints

GET /ts/code-systems?limit&offset&textContains&publisher&versionStatus&spaceId&content&lastVersionDecorated&lang · GET /spaces · GET /fhir/ValueSet/$expand (filters). See TEDY.01 § Common API Surface.

Security / Permissions

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

Non-functional Requirements

Per TEDY.01 § NFRs.

Business Tests

  1. Columns render in the reference platform order (ID·Version·Title·Publisher·Status·Concepts).
  2. Search filters by textContains and resets to page 1.
  3. Publisher/Status/Space/Content narrow via the mapped params; Clear resets.
  4. Row click opens the preview; Open/ID → TEDY.01.3.
  5. A backend failure surfaces an error (no silent redirect).

Source Code References

CodeSystemList.tsx, codeSystemClient.ts, useCodeSystems.ts, useSpaces.ts. reference-editor: code-system-list.component.*, code-system-lib.service.ts.

Differences (live vs source vs TEDY)

Aspectdev-tx.examplereference-editorTEDY
Column orderID·LAST VERSION·TITLE·PUBLISHER·STATUS·COUNTsamematches
Publisher cellpublisher VS designationlocalizedConceptNameVS-resolved (@helex/tx), fallback raw
Publisher/Status filtervalue-set concept selecttw-value-set-concept-selectTxConceptSelect(url=…)
Version / CountlinksrouterLinksplain text — pending version/concepts sub-routes
Row expandinline rowexpanded-row componentnot ported (concepts shown on TEDY.01.3)
Add actionsManual / Import FHIRgated CodeSystem.writepending (TEDY.01.2)

Traces

  • parent: TEDY.01 · traces-to: TEDY.01.2, TEDY.01.3