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
| Tab | Content | Source |
|---|---|---|
| Summary | Info card (icon-list) · Versions card · right column (expansion preview · Tasks · Related artifacts) | reuse TedyInfoCard/TedyInfoLine; new VS widgets |
| Metadata | Full field view + edit (ResourceForm, hideHeader) reusing the TEDY.02.2 field set | POST /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, filters | rules + 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 livePOST /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’stype(include/exclude),codeSystem(+version) orvalueSet(+version), explicitconcepts[], andfilters[](property/operator/value; operator from filter-operator VS). - Edit: add (
POST .../rules), update (PUT .../rules/{id}), delete (DELETE .../rules/{id}); toggle rule setinactive(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
- View loads
/ts/value-sets/{id}?decorate=trueand renders Summary/Metadata/Concepts/Rules. - Expansion tab shows members from
snapshot(or liveexpand); columns perValueSetVersionConcept. - Rules tab lists include/exclude rules; edits hit rules/rule-sets endpoints; preview via
expand-rule. - Version lifecycle + metadata edit require
ValueSet.write.