Estonian Terminology Services Implementation Guide
1.0.0 - draft
Estonian Terminology Services Implementation Guide, published by TEHIK. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/TEHIK-EE/TerminologyServices/ and changes regularly. See the Directory of published versions
TEHIK terminology server aims to re-publish all the terminology assets that used to be published in TEHIK's old publication centre (no public international access). Many terminology assets needed new versions in order to be technically migratable to FHIR standard - hence, it was not possible to migrate the older versions of all code systems and value sets, but only the newest ones. The structures changed significantly - one table for an old "classifier" had to be split into codesystem (or supplement) and value set.
New terminology assets and new versions are created directly in the new authoring tool and FHIR format.
CodeSystem vs ValueSet distinction
In our Publication Centre, there is often no distinction between code system and value set. While the situation has been clear for large international code systems like ICD-10 or SNOMED CT, the majority of our legacy controlled vocabulary has been published as independent code lists, resulting in re-using same codes (001, 002) with many different meanings across lists. In FHIR, this results in an uncomfortable situation, that all these locally coded lists must technically become FHIR CodeSystems and ValueSets both. The following diagram describes this basic migration rule:
We have cases where a ValueSet has changed its underlying CodeSystem (local codes switching to SNOMED CT), and the OID has remained the same. Therefore, we can conclude that until now, the OID has been assigned to the ValueSet rather than the CodeSystem. At the same time, this OID is used as an identifier for code system in CDA messaging. After many considerations, the OIDs have been migrated both to CodeSystem and ValueSet resource, resulting in two objects sharing the OID. This is a borderline case from the point of view of validity, and we would appreciate to know if this is causing any problems to our users.
OIDs Historically, the same OIDs were used for code systems and value sets both when the value sets contained the whole code system. Migrating to FHIR, this practise was continued for the existing terminology resources. The same OID is in the identifier element in the CodeSystem resource as well as in the corresponding ValueSet resource.
When CodeSystem and ValueSets do not have this kind of 1:1 relationship, OIDs are assigned separately.
For historical reasons, classifier versions were also assigned OIDs in the old system. As existing services are often dependent on these version OIDs, they can also be found in the identifier element (type "version"), even though we advise not using this element when building new services.
Hierarchy
For expressing hierarchy in a code system, property parent is provided, but also the structure of the CodeSystem resource follows the concepts-in-concepts pattern. While terminology server are expected to handle both approaches, using property parent allows us to handle polyhierarchy and monohierarchy the same way and keeps the information about hierarchy even when representing the content of CodeSystem in a flat table.
ValueSets' default expansion also typically includes the property parent.
In the old format, every code list included columns: Parent code (Vanem_kood) and Hierarchy level (Hierarhia_aste). Column 'Hierachy level' is not migrated, as it is obsolete. Column 'Parent code' is migrated as property parent in CodeSystem, and groupedBy in CodeSystem supplement, which is contained in the value set. See more about hierarchy in value set below.
Effective dates and statuses of value set members
Status of value set members is not migrated, because only active value set members are published in every value set version.
Currently, every locally defined code list has three columns: Valid from (Kehtivuse_alguse_kpv), Valid until (Kehtivuse_lõpu_kpv), and Last updated (Viimane_muudatus_kpv). These columns are not migrated as the content of a ValueSet. Valid from and Valid until dates are migrated as effectivePeriod. 'Last updated' column is not migrated.
This information, however, is migrated in the underlying CodeSystem for ValueSets that have 1:1 relationship with their underlying CodeSystem. For value sets based on SNOMED CT or other big code systems, a code system supplement is occasionally created for maintaining some of the history with comments.
FHIR does not allow defining a hierarchy in the value set definition. However, Estonian code lists have always been used not just for validation, but also for interface terminology, which means that hierarchy and grouper concepts have been a norm.
A concept in the value set can show the properties that have been assigned to it in the code system. Therefore, if the code system has exactly the same hierarchy as the value set, the same hierarchy can be expressed in the value set expansion. However, for SNOMED CT based value sets, the same approach cannot be used, because the value set's hierarchy may not match the SNOMED CT's complex polyhierarchy. Consider the following excerpt from … value set:
Code | Name Estonian | English FSN | Parent code in value set | Direct parent in SNOMED CT |
257192006 | Nägemist toetav vahend | Aid to vision (physical object) | ||
50121007 | Prillid | Eye glasses, device (physical object) | 257192006 | 257192006 Aid to vision |
264865009 | Suurendusklaas | Optical near vision magnifier (physical object) | 257192006 | 360288007 Optical near vision aid & 310405008 Magnification device |
414928009 | Silmaprotees | Ocular prosthesis (physical object) | 257192006 | 414946003 Ophthalmic prosthesis |
6012004 | Kuulmist toetav vahend | Hearing aid, device (physical object) | ||
469512007 | Kõrvasisene kuuldeaparaat | In-the-ear air-conduction hearing aid (physical object) | 6012004 | 705321004 Air-conduction hearing aid |
467138008 | Kõrvatagune kuuldeaparaat | Behind-the-ear air-conduction hearing aid (physical object) | 6012004 | 705321004 Air-conduction hearing aid |
43252007 | Kohleaarimplantaat | Cochlear prosthesis, device (physical object) | 6012004 | 43252007 Cochlear prosthesis |
Such situation where the value set subsumption differs from code system subsumption should normally be avoided. However, it is often the reality, and in such cases the code system supplement is created to bridge the gap between the code system and the value set. CodeSystem Supplement for this case adds properties:
The value set includes these properties as default properties for expansion.
Large code systems do not follow the common rules of migration. Each of the following code systems is handled individually.
ICD-10 / RHK-10
SNOMED CT
LOINC
NOMESCO Surgical Procedures (NCSP)
ATC and other medication related terminologies