The process of loading basically comprises the mapping of terminological contents to the elements defined within the CTS2-standard. This section outlines a generic method for mapping terminological resources to the entities of the CTS2-information model. In most cases, there will be a need for fine adjustment depending on structural and semantical features of a code system/value set.
The below figure shows the underlying model which is aligned to a slightly modified subset of the original CTS2 information model.
To increase the readability of the diagram, a dashed line is used for generalization. Furthermore, the usual EBNF notation was used for UML-multiplicity, so
- ? stands for 0..1
- * stands for 0..*
- + stands for 1..*
CTS2-LE information model
For the sake of clarity, not all elements will be described in detail. Instead, we define 3 levels when representing a terminology resource by means of CTS2-LE:
- code systems, code system version, value sets and value set version
- concepts, along with synonyms, definitions, notes, etc.
- associations between concepts
The following tables outline the mapping and provide information regarding the intended usage of the elements. It is recommended to have the above diagram in mind when studying the tables, since it outlines the overall structure and thus shows how entities and attributes are connected.
Defining code systems, code system version, value sets and value set version
| Terminological element |
CTS2 mapping |
Scope
|
| code system and code system version |
CodeSystemVersionCatalogEntry |
- used to define the "bag" for concepts
- according to CTS2 Code System and Code System Version Catalog Services: "is a resource that is maintained by individuals and/or organisations [...] Its purpose is to declare a collection of codes or identifiers that represent classes, categories, or individuals that are used for reporting, organizing and/or reasoning about knowledge in some discipline, specialty or domain."
- the attribute versionID is used to declare the version of a code system
- the attribute defaultLanguage is used to declare the language of a code system
- the attribute resourceID is a system-intern identifier for a code system
- the attribute isDefaultVersion marks a code system version as the default version if set to true
- the attribute versionOf is used to reference the code system a specific code system version belongs to
|
| value set and value set version |
ValueSetDefinition |
- according to CTS2 Value Set Services: "describes the rules that determine which entity references (value meanings) belong to a value set at a given point in time"
- the attribute versionID is used to declare the version of a value set
- the attribute resourceID is a system-intern identifier for a value set
- the attribute isDefaultVersion marks a value set definition as the default definition if set to true
- the attribute versionOf is used to reference the value set a specific vs definition belongs to
- the attribute entry references a concept drawn from a code system
- note, that the value set portion is strongly aligned to the FHIR standard but with most possible compliance to CTS2
|
| value set entry |
ValueSetDefinitionEntry |
|
Defining concepts and designations
| Terminological element |
CTS2 mapping |
Scope
|
| concept |
ClassDescription |
- elements of a code system version
- the attribute name is the concept's code
|
| terms, concept naming |
Designation |
- used to name a concept
- the attribute designationRole is used to mark a designation (1) as the preferred term for a concept (PREFERRED), (2) as an alternative term (ALTERNATIVE) or (3) as a hidden term (HIDDEN) which may be included within a search procedure but which is otherwise not suitable for presentation
- the attribute language can be attached to state in which language the designation is expressed
- there can only be one preferred designation per language
|
| preferred term |
PreferredTerm |
- the preferred designation of a concept
- note, that a Designation itself contains the same content (when typed as PREFERRED), however, the presence of a PreferredTerm is mandatory
- there is always one PreferredTerm expressed in the language of the code system in which the concept is defined
|
| explanations and similar |
Definition |
- used to attach definition-like facts
- the attribute definitionRole is used to express that a definition has an informative (INFORMATIVE) or rather normative (NORMATIVE) character
- the attribute language can be attached to state in which language the note is expressed
|
| notes |
Note |
- used to enrich a concept with further information
- the attribute language can be attached to state in which language the note is expressed
|
Defining associations
| Terminological element |
CTS2 mapping |
Scope
|
| association |
Association |
- a statement in the form of subject predicate target that defines a relation between 2 concepts or between a concept and a literal
- the attribute subject references a concept (ClassDescription)
- the attribute predicate references a PredicateDescription (just like a ClassDescription represents a concept, a PredicateDescription represents a relation, such as subClassOf)
- the attribute target either references a concept via the identificator (code system uri, version, code) or a literal
- the attribute deviation is used to indicate that an association has been added manually (ASSERTED) or that is was derived automatically (INFERRED)
|