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

  • reference-editor/app/src/app/resources/value-set/containers/summary
  • reference-editor/app/src/app/resources/value-set/services/value-set.service.ts
  • reference-editor/app/src/app/resources/_lib/value-set/services/value-set-lib.service.ts
  • helex-tx/modules/tedy/frontend/src/pages/code-system/CodeSystemShell.tsx # shared shell to reuse author: TEDY bootstrap created: 2026-08-08 updated: 2026-08-08

TEDY.02.3 – Value Set View

Feature grouping

Child of TEDY.02 – Value Set (Common Spec). Siblings: TEDY.02.1 List, TEDY.02.2 Add.

Description

Tabbed detail view for one Value Set, reusing the shared TedyResourceShell (header + PageTabs + version selector) built for Code Systems (TEDY.01.3 / R1). Loads GET /ts/value-sets/{id}?decorate=true once and shares it via Outlet context.

Tabs

TabContentSource
SummaryInfo card (icon-list) · Versions card · right column (expansion preview · Tasks · Related artifacts)reuse TedyInfoCard/TedyInfoLine; new VS widgets
MetadataFull field view + edit (ResourceForm, hideHeader) reusing the TEDY.02.2 field setPOST /ts/value-sets/transaction
Concepts (expansion)The expanded members via ResourceList (Code · Display · System · Order · Active)POST /ts/value-sets/expand or version snapshot.expansion[]
Rules (compose)Rule-set editor: include/exclude rules with code-system/value-set refs, explicit concepts, filtersrules + expand-rule preview

Summary — info card (icon-list)

Mirrors reference-editor’s value-set info widget: 🔑 id (copyable) · description · 🔗 uri (copyable) · ⚙ experimental/purpose · 📍 publisher (resolved). Reuse TedyInfoCard / TedyInfoLine / TedyInlineMeta.

Summary — versions card

Reuse the shared versions widget shape: Version · Status · Dates · Languages · Concepts (snapshot.conceptsTotal) · lifecycle actions (Add / Edit / activate·retire·draft / Delete) + Compare. Each version carries its own ruleSet.

Concepts (expansion)

  • Prefer the version’s stored snapshot.expansion[]; fall back to a live POST /ts/value-sets/expand {valueSet, valueSetVersion} for drafts.
  • Member columns from ValueSetVersionConcept: concept.code · display.name · concept.codeSystem · orderNumber · active.
  • Export via expansion-export (later).

Rules (compose)

  • Show the version ruleSet.rules[]: each rule’s type (include/exclude), codeSystem(+version) or valueSet(+version), explicit concepts[], and filters[] (property/operator/value; operator from filter-operator VS).
  • Edit: add (POST .../rules), update (PUT .../rules/{id}), delete (DELETE .../rules/{id}); toggle rule set inactive (PUT .../rule-sets/{id}).
  • Live preview a single unsaved rule via POST /ts/value-sets/expand-rule.
  • After changes, re-expand to refresh members.

API

Per TEDY.02 § Common API Surface: load (?decorate=true), versions + lifecycle, rules/rule-sets, expand / expand-rule / expand-async, provenances, change-id, delete.

Reuse note

The shell, version form (VersionFormFields + create/edit pages), SemanticVersionSelect, summary info/versions widgets, Tasks + Related-artifacts widgets, and the compact Tedy* UI are all shared with TEDY.01 — this view is largely composition + VS-specific Concepts (expansion) and Rules (compose) tabs. (This is also the R5 “generalize the shell to ValueSet/MapSet” step.)

Business Tests

  1. View loads /ts/value-sets/{id}?decorate=true and renders Summary/Metadata/Concepts/Rules.
  2. Expansion tab shows members from snapshot (or live expand); columns per ValueSetVersionConcept.
  3. Rules tab lists include/exclude rules; edits hit rules/rule-sets endpoints; preview via expand-rule.
  4. Version lifecycle + metadata edit require ValueSet.write.