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.17.2 template: tool-feature module: tedy state: Built traces-from: [] source-refs:

  • reference-editor/app/src/app/integration/import/file-import/value-set/value-set-file-import.component.ts
  • reference-editor/app/src/app/resources/_lib/value-set/services/value-set-file-import.service.ts
  • reference-editor/app/src/app/integration/import/file-import/file-analysis.service.ts
  • terminology-server/fileimporter/valueset/ValueSetFileImportController.java author: TEDY bootstrap created: 2026-08-09 updated: 2026-08-09

TEDY.17.2 – Value Set File Import

Feature grouping

Child of TEDY.17 – File & Source Import (Common Spec). Siblings: TEDY.17.1 CS, TEDY.17.3 MS, TEDY.17.4 External.

Description

Import Value Set members from a csv / tsv file (or URL). Simpler than the CS importer: after analyze the user maps only two columns — concept code (required) and display (optional) — into the version’s rule set, then processes. Only a dryRun (validate vs. import) toggle; no clean/replace.

Screen flow

Progressive-disclosure form; card + breadcrumb (Import → Value Set).

  1. Destination Value Set — existing (search) or new (id, title multi-language required, URI required, description).
  2. Version — existing draft version select, or new: semantic version, status (publication-status), release date.
  3. Rule set — existing rule select (codeSystem | version), or new: code-system search + code-system-version select. Concepts radio: all vs exact (default exact). Analyze + mapping appear only for exact.
  4. Source + Analyze (when exact) — source type radio link | file; format radio csv | tsv; URL or file input; Analyze.
  5. Column mapping (after analyze) — two selects over detected columns: code (concept code, required) and display (optional).
  6. FooterdryRun radio (import-data vs validate-data), Process.

Request DTO (/file-importer/value-set/process)

multipart request JSON:

  • link, type (csv|tsv; server also accepts json|fsh)
  • valueSet { id, uri?, name?, oid?, title?, description? } (uri/… for a new VS)
  • version { number, status, releaseDate, rule { id?, codeSystem?, codeSystemVersionId? } }
  • mapping { code, display }
  • dryRun, importClass?

(UI-only, not on the wire: concepts all|exact, sourceType, file.)

Defaults

type = csv, sourceType = file, dryRun = true, concepts = exact; new version status = draft.

Testing

Per TEDY.17 → Testing. VS-specific units: the process request buildermapping { code, display } (code required), the version.rule shape (existing id vs new codeSystem+codeSystemVersionId), and that the UI-only concepts/sourceType flags gate analyze/mapping but are not required on the wire; reuse the shared useImportJob tests. Component smoke: the code/display selects populate from analyzed columns and Process is gated on code.

Acceptance

  • For an existing VS draft version + a rule, analyze a csv, map code (+display), dry-run → JobLog, real run → members added under the version’s rule set.
  • New VS-import unit tests green (nx test).
  • Create-new VS + version + rule inline, then import.
  • tsc clean; en/et/ru i18n in sync; verified against htx.helex.dev/lmb.