Für die deutsche Version bitte hier klicken.
The following file formats are currently supported:
Name | File extension | Character encoding | Note |
---|---|---|---|
FHIR® R4B xml | .4.fhir.xml | UTF-8 | |
FHIR® R4B json | .4.fhir.json | UTF-8 | |
fsh v1 | .1.fsh | UTF-8 | |
fsh v2 | .2.fsh | UTF-8 | |
propCSV v1 csv | .1.propcsv.csv | cp-1252 or UTF-8 if there are encoding errors | |
propCSV v1 xlsx | .1.propcsv.xlsx | UTF-8 | |
spreadCT v1 | .1.spreadct.xlsx | UTF-8 | |
ClaML v2 | .2.claml.xml | UTF-8 | |
ClaML v3 | .3.claml.xml | UTF-8 | |
SVSextELGA v1 | .1.svsextelga.xml | UTF-8 | Warning! DEPRECATED! This format can technically not contain all the information that is available in the other formats. This format is only available for legacy purposes. |
SVSextELGA v2 | .2.svsextelga.xml | UTF-8 | Warning! DEPRECATED! This format can technically not contain all the information that is available in the other formats. This format is only available for legacy purposes. However, all concept properties are available. |
outdatedCSV v1 | .1.outdatedcsv.csv | UTF-8 | Warning! DEPRECATED! This format can technically not contain all the information that is available in the other formats. This format is only available for legacy purposes. |
outdatedCSV v2 | .2.outdatedcsv.csv | UTF-8 | Warning! DEPRECATED! This format can technically not contain all the information that is available in the other formats. This format is only available for legacy purposes. However, all concept properties are available. |
Please note that the propCSV represents the core file format regarding the conversion between the various file formats. Furthermore, the XLSX version of the propCSV is fully human readable.
E.g., if there is an element available in the FHIR® specification which is not supported in propCSV it cannot be converted to the other file formats.
For the structure of FHIR® resources, please refer to the corresponding documentation, e.g.:
The XML representation for a resource is described using this format (see XML Representation of Resources):
<name xmlns="http://hl7.org/fhir" (attrA="value")>
<!-- from Resource: id, meta, implicitRules, and language -->
<nameA><!-- 1..1 type description of content --><nameA>
<nameB[x]><!-- 0..1 type1|type1 description --></nameB[x]>
<nameC> <!-- 1..* -->
<nameD><!-- 1..1 type>Relevant elements --></nameD>
</nameC>
<name>
The JSON representation for a resource is based on the JSON format described in STD 90 (RFC 8259), and is described using this format (see JSON Representation of Resources):
{
"resourceType" : "[Resource Type]",
// from Source: property0
"property1" : "<[primitive]>", // short description
"property2" : { [Data Type] }, // short description
"property3" : { // Short Description
"propertyA" : { CodeableConcept }, // Short Description (Example)
},
"property4" : [{ // Short Description
"propertyB" : { Reference(ResourceType) } // R! Short Description
}]
}
FHIR® Shorthand (FSH) is a domain-specific language for defining the contents of FHIR® Implementation Guides (IG). The language is specifically designed for this purpose, simple and compact, and allows the author to express their intent with fewer concerns about underlying FHIR® mechanics. FSH can be created and updated using any text editor, and because it is text, it enables distributed, team-based development using source code control tools such as GitHub.
Documentation of FSH:
The proprietary CSV (propCSV) allows simplified editing of terminologies. This format is based on the FHIR® specification for code systems and value sets. It enables the documentation of metadata elements as well as concept elements of a terminology.
The FHIR® specification defines the mandatory elements for code systems (http://hl7.org/fhir/codesystem.html#resource) and value sets (http://hl7.org/fhir/valueset.html#resource). The names of the corresponding elements must not be changed. In general, no other elements than defined by the FHIR® specification may be used unless a FHIR® extension is used. However, in some exceptional cases it might be necessary to add custom elements (e.g. parent
and parentSystem
to support hierarchical structures in ValueSet.expansion
) in order to support certain requirements which are still based on the FHIR® specification.
The value of an element is converted into the respective FHIR® data types (uri, identifier, string, code, …) and stored if the conversion was successful.
The propCSV is provided as CSV as well as XLSX file. For editing, the XLSX file is recommended.
The first two lines comprise of the metadata elements for the terminology, i.e. in the first line the name of the element is specified, in the second line the value of the corresponding element is documented.
An empty line separates the metadata elements from the concept elements.
For the concept elements a line specifying the required concept element names is followed by the respective values for each concept that shall be part of the terminology.
The metadata elements and concept elements can be specified in any order. According to the key-value-principle always the key is read, which gives the meaning to the value standing beneath it.
The following list comprises of required as well as recommended metadata elements for code systems. A sample file can be downloaded here: Code System Note: cells that have to be edited are highlighted in yellow.
Name | Cardinality | Description | Example |
---|---|---|---|
resource | 1..1 | Specifies the type of the terminology. Fixed value: CodeSystem | CodeSystem |
id | 1..1 | Logical id of this artifact. | cs-import-template |
url | 1..1 | Canonical identifier for this code system, represented as a URI (globally unique) (Coding.system ). | https://my-terminology-server.com/CodeSystem/cs-import-template |
identifier | 0..* | Additional identifier for the code system (business identifier). Currently, only urn:oid: is supported. As a result the value given corresponds to Identifier.value (see http://www.hl7.org/fhir/datatypes.html#Identifier). | 1.25.256.25.8.9 |
version | 1..1 | Business version of the code system (Coding.version ). | 1.0.0+20230601 |
name | 0..1 | Name for this code system (computer friendly). | cs-import-template |
title | 0..1 | Name for this code system (human friendly). | CS Import Template |
status | 1..1 | draft | active | retired | unknown | active |
date | 0..1 | Date last changed. The format is YYYY-MM-DD . | 2015-02-07 |
contact | 0..* | Contact details for the publisher. All sub-attributes (see http://hl7.org/fhir/R4B/metadatatypes.html#ContactDetail) are combined by a | in the first level and by a ^ in the second level.
| John Doe|url^https://my-terminology-publishing.com^^^^ |
description | 0..1 | Natural language description of the code system. | |
copyright | 0..1 | Use and/or publishing restrictions. | |
content | 1..1 | not-present | example | fragment | complete | supplement | complete |
count | 0..1 | Total concepts in the code system | 238 |
property | 0..* | Additional information supplied about each concept. All sub-attributes are combined by a | .
| child|||code |
The following list comprises of required as well as recommended concept elements for code systems:
Name | Cardinality | Description | Example |
---|---|---|---|
code | 1..1 | Code that identifies concept. | 123456 |
display | 0..1 | Text to display to the user. | bear |
definition | 0..1 | Formal definition | Bears are carnivoran mammals of the family Ursidae. |
designation | 0..* | Additional representations for the concept. All sub-attributes are combined by a | .
| de-AT|^^^^|Bär or |http://snomed.info/sct^^900000000000003001^Fully specified name^|Ursidae |
property | 0..* | Property value for the concept. All sub-attributes are combined by a | .
| color|brown|string |
The following list comprises of required as well as recommended metadata elements for value sets. A sample file can be downloaded here: Value Set Note: cells that have to be edited are highlighted in yellow.
Name | Cardinality | Description | Example |
---|---|---|---|
resource | 1..1 | Specifies the type of the terminology. Fixed value: ValueSet | ValueSet |
id | 1..1 | Logical id of this artifact. | vs-import-template |
url | 1..1 | Canonical identifier for this value set, represented as a URI (globally unique) | https://my-terminology-server.com/ValueSet/vs-import-template |
identifier | 0..* | Additional identifier for the value set (business identifier). Currently, only urn:oid: is supported. As a result the value given corresponds to Identifier.value (see http://www.hl7.org/fhir/datatypes.html#Identifier). | 1.2.3.4.5.6.7.9.10 |
version | 1..1 | Business version of the value set. | 1.0.0+20230601 |
name | 0..1 | Name for this value set (computer friendly). | vs-import-template |
title | 0..1 | Name for this value set (human friendly). | VS Import Template |
status | 1..1 | draft | active | retired | unknown | active |
date | 0..1 | Date last changed. The format is YYYY-MM-DD . | 2015-02-07 |
contact | 0..* | Contact details for the publisher. All sub-attributes (see http://hl7.org/fhir/R4B/metadatatypes.html#ContactDetail) are combined by a | in the first level and by a ^ in the second level.
| John Doe|url^https://my-terminology-publishing.com^^^^ |
description | 0..1 | Natural language description of the value set. | |
copyright | 0..1 | Use and/or publishing restrictions. |
The following list comprises of required as well as recommended concept elements for value sets:
Name | Cardinality | Description | Example |
---|---|---|---|
system | 1..1 | The code system the codes come from. | https://my-terminology-server.com/CodeSystem/cs-import-template |
version | 0..1 | Specific version of the code system referred to. | 1.0.0+20230601 |
code | 1..1 | Code or expression from system | 123456 |
display | 0..1 | Text to display for this code in this value set. | bear |
designation | 0..* | Additional representations for the concept. All sub-attributes are combined by a | .
| de-AT|^^^^|Bär or |http://snomed.info/sct^^900000000000003001^Fully specified name^|Ursidae |
exclude | 0..1 | As the opposite of include, this allows to explicitly exclude a specific concept of a code system. Even whole code systems or value sets, with all their concepts, may be excluded. Additionally, code system filters can be used in order to exclude multiple concepts based on their properties. true if the line within the propCSV shall be interpreted as an exclusion. If not specified false is assumed, i.e. the line will be interpreted as inclusion.Note: At least one line must represent an inclusion. | true |
parent | 0..1 | Code of the parent of this concept. Combined with parentSystem this element is necessary when dealing with hierarchical value sets. In a FHIR® ValueSet this will then result in a hierarchical expansion, i.e. ValueSet.expansion.contains.contains . | 123457 |
parentSystem | 0..1 | Code system of the parent's code of this concept. Required if parent is used. | https://my-terminology-server.com/CodeSystem/cs-import-template |
Basically, the spreadCT resembles the propCSV file format. However, the metadata and the content of a terminology are contained in two separate Excel worksheets. Furthermore, the metadata are transposed in comparison to the propCSV file format.
By separating the metadata from the content this file format further simplifies the authoring of terminologies.
ClaML (Classification Markup Language) is a special XML data format for classifications. The ClaML file format primarily supports code systems.
The following elements describe the metadata of a terminology:
Element | Description |
---|---|
Title | Contains the name (name attribute), the version (version attribute) as well as the validity date (date attribute, format: YYYY-MM-DD ). |
Identifier | Contains the OID of the terminology within the uid attribute. |
Authors | Contains one or more Author elements which contain the name (name attribute) of the author and the contact details as element content. |
Meta | Several Meta elements contain furter information as key-value pairs. |
The most used Meta
elements are:
titleLong
- Human readable titleresource
- Specifies the type of the terminology (e.g. CodeSystem
, ValueSet
)id
- Logical id of this artifacturl
- Canonical identifier for this terminology, represented as a URI (globally unique)status
- draft
| active
| retired
| unknown
description
- German description of the terminologydescription_eng
- English description of the terminologycontent
- Relevant for code systems only. not-present
| example
| fragment
| complete
| supplement
website
- Link to source etc.copyright
- Use and/or publishing restrictions.version_description
- Description of the versionproperty
- Declares the properties which are to be expected within the concepts of this terminologyThe concepts are represented as Class
elements:
Class/@code
- Code of the conceptClass/Rubric[@kind='preferred']
- Display of the conceptClass/Rubric[@kind='note']
- more detailed description (application description) of the conceptClass/Meta[@name='TS_ATTRIBUTE_HINTS']
- hints on the application of the conceptClass/Meta[@name='TS_ATTRIBUTE_MEANING']
or Class/Rubric[@kind='designation']
with de-AT
- German language variantClass/Meta[@name='Level']
and Class/Meta[@name='Type']
- mapping of the hierarchyClass/SubClass
- specifies the child concepts of this conceptClass/SuperClass
- specifies the parent concepts of this conceptDISCLAIMER: This file format is deprecated. The SVSextELGA will continue to be supported for the time being. However, no further developments for this format will be implemented. As a result, this file format can technically not contain all the information that is available in non-deprecated file formats. Furthermore, in the medium term (approx. 2025), this format will be fully removed.
The supported SVS is based on the IHE Sharing Value Set format and has been extended for ELGA purposes. This XML format supports code systems as well as value sets.
The root element valueSet
contains the metadata of the terminology as attributes:
name
- name of the terminologydisplayName
- human readable name of the terminologybeschreibung
- description of the terminology in Germandescription
- description of the terminology in EnglisheffectiveDate
- validity dateid
- OID of the terminologylast_change_date
- date last changedversion
- version of the terminologywebsite
- Link to source etc.The conceptList
element contains the concepts represented as concept
elements. The following list explains the most important attributes of the concept
element:
code
- Code that identifies conceptdisplayName
- Text to display for this code in this value setdisplayNameAlt
- Alternative display namecodeSystem
- OID of the code system the code comes fromconcept_beschreibung
- more detailed description (application description) of the conceptdeutsch
- German language variant, meaningeinheit_codiert
- coded representation of a test result's uniteinheit_print
- human readable form of a test result's unithinweise
- Notes regarding the application of the conceptlevel
- specifies the level of the concept within a hierarchyorderNumber
- index to fix the order of concepts (relevant only for value sets)parentCodeSystemName
- canonical url of the code system the code comes fromrelationships
- possible connections to other conceptstype
- type of the concept (L
- leaf, S
- specializable, A
- abstract, D
- deprecated)In version 2 of SVSextELGA, undefined attributes/properties may be included as additional concept attributes.
DISCLAIMER: This file format is deprecated. The outdatedcsv will continue to be supported for the time being. However, no further developments for this format will be implemented. As a result, this file format can technically not contain all the information that is available in non-deprecated file formats. Furthermore, in the medium term (approx. 2025), this format will be fully removed.
The outdated CSV (outdatedcsv) represents the CSV export format of the old terminology server (termpub.gv.at). The format does not contain any metadata on code systems or value sets and cannot represent all the information required for FHIR® that is representable in other file formats.
For each concept only the following information can be represented in outdatedcsv:
code
codeSystem
displayName
parentCode
(code systems only)parentCodeSystemName
(value sets only)concept_Beschreibung
meaning
hints
orderNumber
(value sets only)level
type
relationships
einheit print
(value sets only)einheit codiert
(value sets only)In version 2 of outdatedcsv, undefined attributes may be included as additional columns. Furthermore, the following additional changes have been implemented in version 2:
''
;
between the designated columns are omitted (CSV compliant). This results in size savings of up to 20% for large terminologies.DictReader
from the csv
library: import csv
with open(FILEPATH, 'r', newline='') as file:
csvFile = csv.DictReader(file, quotechar='\'', delimiter=';') # DictReader allows access by keys/columns
for csv_line in csvFile:
...