Katalog (CodeSystem)


Dieses Profil beschreibt die maschinenlesbare Repräsentation von system-spezifischen Kodierungen in ISiK-Szenarien.

Motivation

ISiK erlaubt in diversen Kontexten die Erweiterung der Kodierung durch Krankenhaus-/System-interne Kodierungen. Das Profil ISiKKatalog (CodeSystem) als Profil erlaubt die Repräsentation der dazugehörigen Codes und Display-Werte.

Eine maschinenlesbare Repräsentation dieser Kodierungen erlaubt es Clients, dazugehörige Anzeigetext und Definitionen zu verarbeiten.

Ein Codesystem eignet sich auch dazu, auf dessen Basis definierte ValueSets zu expandieren. Da ISiKValueSet expandierte Valuesets vorsieht, ist eine dynamische Expansion in der Regel nicht erforderlich. Darüber hinausgehend ist ein Use Case im Kontext der Katalogabfrage folgender: Ein Client möchte eine Expansion neu generieren (z.B. mit anderen Expansionen-Parametern), um das ValueSet beispielsweise in einer anderen Sprache auszugeben.

Bestätigungsrelevanz

VerbindlichkeitMAY

Metadaten

Canonicalhttps://gematik.de/fhir/isik/StructureDefinition/ISiKCodeSystem
Statusactive
Version4.0.1
Basishttp://hl7.org/fhir/StructureDefinition/CodeSystem

Inhalt

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
urlS Σ1..1uri
identifierΣ0..*Identifier
versionS Σ1..1string
nameS Σ I1..1string
titleΣ0..1string
statusS Σ ?!1..1codeBinding
experimentalΣ0..1boolean
dateΣ0..1dateTime
publisherΣ0..1string
contactΣ0..*ContactDetail
description0..1markdown
useContextΣ0..*UsageContext
jurisdictionΣ0..*CodeableConceptBinding
purpose0..1markdown
copyright0..1markdown
caseSensitiveΣ0..1boolean
valueSetΣ0..1canonical(ValueSet)
hierarchyMeaningΣ0..1codeBinding
compositionalΣ0..1boolean
versionNeededΣ0..1boolean
contentS Σ1..1codeBinding
supplementsΣ0..1canonical(CodeSystem)
countΣ0..1unsignedInt
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
codeΣ1..1code
descriptionΣ0..1string
operatorΣ1..*codeBinding
valueΣ1..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
codeΣ1..1code
uriΣ0..1uri
descriptionΣ0..1string
typeΣ1..1codeBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
codeS1..1code
displayS1..1string
definitionS0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
language0..1codeBinding
use0..1CodingBinding
value1..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
code1..1code
valueCodecode
valueCodingCoding
valueStringstring
valueIntegerinteger
valueBooleanboolean
valueDateTimedateTime
valueDecimaldecimal
concept0..*see (concept)
<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="ISiKCodeSystem" />
    <url value="https://gematik.de/fhir/isik/StructureDefinition/ISiKCodeSystem" />
    <version value="4.0.1" />
    <name value="ISiKCodeSystem" />
    <status value="active" />
    <experimental value="false" />
    <date value="2024-11-25" />
    <publisher value="gematik GmbH" />
    <description value="Dieses Profil beschreibt die maschinenlesbare Repr&#228;sentation von \nsystem-spezifischen Kodierungen in ISiK-Szenarien.  \n\n### Motivation\n\nISiK erlaubt in diversen Kontexten die Erweiterung der Kodierung durch Krankenhaus-/System-interne Kodierungen. Das Profil ISiKKatalog (CodeSystem) als Profil erlaubt die Repr&#228;sentation der dazugeh&#246;rigen Codes und Display-Werte. \n\nEine maschinenlesbare Repr&#228;sentation dieser Kodierungen erlaubt es Clients, dazugeh&#246;rige Anzeigetext und Definitionen zu verarbeiten.\n\nEin Codesystem eignet sich auch dazu, auf dessen Basis definierte [ValueSets zu expandieren](https://hl7.org/fhir/R4/valueset-operation-expand.html).\nDa ISiKValueSet expandierte Valuesets vorsieht, ist eine dynamische Expansion in der Regel nicht erforderlich.\nDar&#252;ber hinausgehend ist ein Use Case im Kontext der Katalogabfrage folgender: Ein Client m&#246;chte eine Expansion neu generieren (z.B. mit anderen Expansionen-Parametern), um das ValueSet beispielsweise in einer anderen Sprache auszugeben." />
    <fhirVersion value="4.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="CodeSystem" />
    <baseDefinition value="http://hl7.org/fhir/StructureDefinition/CodeSystem" />
    <derivation value="constraint" />
    <differential>
        <element id="CodeSystem.url">
            <path value="CodeSystem.url" />
            <short value="Kanonische URL" />
            <comment value="**Bedeutung:** Eindeutige Url zur Identifizierung des CodeSystems. Absolute Url sind zu bevorzugen.  \n    **Hinweise:** OIDs SOLLTEN als weitere Identifier des CodeSystems verwendet werden. In jedem Fall SOLLTE eine Canonical Url vergeben werden." />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="CodeSystem.version">
            <path value="CodeSystem.version" />
            <short value="Version" />
            <comment value="**Bedeutung:** Version des CodeSystems  \n    **Hinweise:** Jede &#196;nderung des CodeSystems MUSS eine &#196;nderung in der Version des CodeSystems und gebundenen ValueSets nach sich ziehen. Die Versionierung SOLLTE auf dem Konzept von [Semantic Versioning](https://semver.org) basieren." />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="CodeSystem.name">
            <path value="CodeSystem.name" />
            <short value="Name des Codesystems" />
            <comment value="**Bedeutung:** Maschinenlesbarer Name des CodeSystems  \n    **Hinweise:** Der Constraint [cps-0](https://www.hl7.org/fhir/R4/codesystem.html#invs) ist hierbei zu beachten." />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="CodeSystem.status">
            <path value="CodeSystem.status" />
            <short value="Status" />
            <comment value="Zeigt den aktuellen Status der Ressource an.     \n  **WICHTIGER Hinweis f&#252;r Implementierer:**    \n  * Alle server-seitigen Implementierungen M&#220;SSEN in der Lage sein, \n  die systemintern m&#246;glichen Statuswerte korrekt in FHIR abzubilden, mindestens jedoch &#39;active&#39; und &#39;retired&#39;&#39;.\n  * Alle client-seitigen Implementierungen M&#220;SSEN in der Lage sein, s&#228;mtliche Status-Codes zu interpretieren und dem Anwender in angemessener Form darstellen zu k&#246;nnen, \n  beispielsweise durch Ausblenden/Durchstreichen von Ressourcen mit dem status `entered-in-error` und Ausgrauen von Ressourcen, die einen Plan- oder Entwurfs-Status haben." />
            <mustSupport value="true" />
        </element>
        <element id="CodeSystem.content">
            <path value="CodeSystem.content" />
            <short value="Vollst&#228;ndigkeit der Repr&#228;sentation" />
            <comment value="**Bedeutung:** Angabe, ob es sich um eine vollst&#228;ndige Repr&#228;sentation des CodeSystems oder nur um einen Auszug handelt.\n    **Hinweise:** Alle in einem System m&#246;glichen Status-Werte m&#252;ssen &#252;ber FHIR korrekt repr&#228;sentiert werden k&#246;nnen, mindestens jedoch die Status-Werte `fragment` und `complete`. Deren korrekte Abbildung wird im Rahmen des Best&#228;tigungsverfahrens &#252;berpr&#252;ft." />
            <mustSupport value="true" />
        </element>
        <element id="CodeSystem.concept">
            <path value="CodeSystem.concept" />
            <comment value="**Bedeutung:** Angabe der Konzepte, aus denen sich das CodeSystem zusammensetzt.  \n     **Hinweise:** Es MUSS mindestens ein Code und ein Anzeigetext spezifiziert werden." />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="CodeSystem.concept.code">
            <path value="CodeSystem.concept.code" />
            <mustSupport value="true" />
        </element>
        <element id="CodeSystem.concept.display">
            <path value="CodeSystem.concept.display" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="CodeSystem.concept.definition">
            <path value="CodeSystem.concept.definition" />
            <mustSupport value="true" />
        </element>
    </differential>
</StructureDefinition>
{
    "resourceType": "StructureDefinition",
    "id": "ISiKCodeSystem",
    "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKCodeSystem",
    "version": "4.0.1",
    "name": "ISiKCodeSystem",
    "status": "active",
    "experimental": false,
    "date": "2024-11-25",
    "publisher": "gematik GmbH",
    "description": "Dieses Profil beschreibt die maschinenlesbare Repräsentation von \nsystem-spezifischen Kodierungen in ISiK-Szenarien.  \n\n### Motivation\n\nISiK erlaubt in diversen Kontexten die Erweiterung der Kodierung durch Krankenhaus-/System-interne Kodierungen. Das Profil ISiKKatalog (CodeSystem) als Profil erlaubt die Repräsentation der dazugehörigen Codes und Display-Werte. \n\nEine maschinenlesbare Repräsentation dieser Kodierungen erlaubt es Clients, dazugehörige Anzeigetext und Definitionen zu verarbeiten.\n\nEin Codesystem eignet sich auch dazu, auf dessen Basis definierte [ValueSets zu expandieren](https://hl7.org/fhir/R4/valueset-operation-expand.html).\nDa ISiKValueSet expandierte Valuesets vorsieht, ist eine dynamische Expansion in der Regel nicht erforderlich.\nDarüber hinausgehend ist ein Use Case im Kontext der Katalogabfrage folgender: Ein Client möchte eine Expansion neu generieren (z.B. mit anderen Expansionen-Parametern), um das ValueSet beispielsweise in einer anderen Sprache auszugeben. ",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "CodeSystem",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/CodeSystem",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "CodeSystem.url",
                "path": "CodeSystem.url",
                "short": "Kanonische URL",
                "comment": "**Bedeutung:** Eindeutige Url zur Identifizierung des CodeSystems. Absolute Url sind zu bevorzugen.  \n    **Hinweise:** OIDs SOLLTEN als weitere Identifier des CodeSystems verwendet werden. In jedem Fall SOLLTE eine Canonical Url vergeben werden.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "CodeSystem.version",
                "path": "CodeSystem.version",
                "short": "Version",
                "comment": "**Bedeutung:** Version des CodeSystems  \n    **Hinweise:** Jede Änderung des CodeSystems MUSS eine Änderung in der Version des CodeSystems und gebundenen ValueSets nach sich ziehen. Die Versionierung SOLLTE auf dem Konzept von [Semantic Versioning](https://semver.org) basieren.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "CodeSystem.name",
                "path": "CodeSystem.name",
                "short": "Name des Codesystems",
                "comment": "**Bedeutung:** Maschinenlesbarer Name des CodeSystems  \n    **Hinweise:** Der Constraint [cps-0](https://www.hl7.org/fhir/R4/codesystem.html#invs) ist hierbei zu beachten.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "CodeSystem.status",
                "path": "CodeSystem.status",
                "short": "Status",
                "comment": "Zeigt den aktuellen Status der Ressource an.     \n  **WICHTIGER Hinweis für Implementierer:**    \n  * Alle server-seitigen Implementierungen MÜSSEN in der Lage sein, \n  die systemintern möglichen Statuswerte korrekt in FHIR abzubilden, mindestens jedoch 'active' und 'retired''.\n  * Alle client-seitigen Implementierungen MÜSSEN in der Lage sein, sämtliche Status-Codes zu interpretieren und dem Anwender in angemessener Form darstellen zu können, \n  beispielsweise durch Ausblenden/Durchstreichen von Ressourcen mit dem status `entered-in-error` und Ausgrauen von Ressourcen, die einen Plan- oder Entwurfs-Status haben.",
                "mustSupport": true
            },
            {
                "id": "CodeSystem.content",
                "path": "CodeSystem.content",
                "short": "Vollständigkeit der Repräsentation",
                "comment": "**Bedeutung:** Angabe, ob es sich um eine vollständige Repräsentation des CodeSystems oder nur um einen Auszug handelt.\n    **Hinweise:** Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden können, mindestens jedoch die Status-Werte `fragment` und `complete`. Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.",
                "mustSupport": true
            },
            {
                "id": "CodeSystem.concept",
                "path": "CodeSystem.concept",
                "short": "",
                "comment": "**Bedeutung:** Angabe der Konzepte, aus denen sich das CodeSystem zusammensetzt.  \n     **Hinweise:** Es MUSS mindestens ein Code und ein Anzeigetext spezifiziert werden.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "CodeSystem.concept.code",
                "path": "CodeSystem.concept.code",
                "short": "",
                "comment": "",
                "mustSupport": true
            },
            {
                "id": "CodeSystem.concept.display",
                "path": "CodeSystem.concept.display",
                "short": "",
                "comment": "",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "CodeSystem.concept.definition",
                "path": "CodeSystem.concept.definition",
                "short": "",
                "comment": "",
                "mustSupport": true
            }
        ]
    }
}

Constraints/Invarianten

Interaktionen

InteraktionVerbindlichkeit
readMAY
search-typeMAY
ParameterTypVerbindlichkeitHinweise
_idtokenSHALL

Beispiel:
GET [base]/[Resourcetype]?_id=103270
Anwendungshinweis:
Der Parameter _id wird selten alleinstehend verwendet, da sich zum Abruf einer Ressource anhand der id die READ-Interaktion besser anbietet. Der Parameter kann jedoch verwendet werden, um den Abruf einer Ressource bspw. mit einem _include weiterer Ressourcen zu verbinden, z.B. zum Abruf eines Encounters in Verbindung mit dem zugehörigen Patienten:
GET [base]/Encounter?_id=103270&_include=Encounter:patient Weitere Details siehe FHIR-Kernspezifikation, Abschnitt Parameters for all resources.
Dieser Suchparameter ist für die Umsetzung des IHE PDQm Profils verpflichtend.

_tagtokenSHALL

Beispiel:
GET [base]/[Resourcetype]?_tag=https://example.org/codes|needs-review
Anwendungshinweis:
Weitere Details siehe FHIR-Kernspezifikation, Abschnitt Parameters for all resources sowie Abschnitt Tags.

_countnumberSHALL

Beispiel:
GET [base]/[Resourcetype]?_count=100
Anwendungshinweis:
Weitere Details siehe FHIR-Kernspezifikation, Abschnitt Page Count.

_hasstringMAY

Beispiel: Suche nach allen Patienten, die eine Observation mit dem Code '1234-5' haben
GET [base]/Patient?_has:Observation:patient:code=1234-5
Beispiel: Suche nach allen Encountern, bei denen die Diagnose 'A12.3' gestellt wurde
GET [base]/Encounter?_has:Condition:encounter:code=A12.3
Anwendungshinweis:
Weitere Details siehe FHIR-Kernspezifikation, Abschnitt Reverse Chaining.

urluriMAY

Beispiel:
GET [base]/CodeSystem?url=http://example.org/fhir/CodeSystem/test
Anwendungshinweis:
Weitere Details siehe FHIR-Kernspezifikation.

(Reverse-)Include

Anmerkungen zu Must-Support-Feldern

FeldnameKurzbeschreibungHinweise
CodeSystem.urlKanonische URL

Bedeutung: Eindeutige Url zur Identifizierung des CodeSystems. Absolute Url sind zu bevorzugen.
Hinweise: OIDs SOLLTEN als weitere Identifier des CodeSystems verwendet werden. In jedem Fall SOLLTE eine Canonical Url vergeben werden.

CodeSystem.versionVersion

Bedeutung: Version des CodeSystems
Hinweise: Jede Änderung des CodeSystems MUSS eine Änderung in der Version des CodeSystems und gebundenen ValueSets nach sich ziehen. Die Versionierung SOLLTE auf dem Konzept von Semantic Versioning basieren.

CodeSystem.nameName des Codesystems

Bedeutung: Maschinenlesbarer Name des CodeSystems
Hinweise: Der Constraint cps-0 ist hierbei zu beachten.

CodeSystem.statusStatus

Zeigt den aktuellen Status der Ressource an.
WICHTIGER Hinweis für Implementierer:

  • Alle server-seitigen Implementierungen MÜSSEN in der Lage sein, die systemintern möglichen Statuswerte korrekt in FHIR abzubilden, mindestens jedoch 'active' und 'retired''.
  • Alle client-seitigen Implementierungen MÜSSEN in der Lage sein, sämtliche Status-Codes zu interpretieren und dem Anwender in angemessener Form darstellen zu können, beispielsweise durch Ausblenden/Durchstreichen von Ressourcen mit dem status entered-in-error und Ausgrauen von Ressourcen, die einen Plan- oder Entwurfs-Status haben.
CodeSystem.contentVollständigkeit der Repräsentation

Bedeutung: Angabe, ob es sich um eine vollständige Repräsentation des CodeSystems oder nur um einen Auszug handelt. Hinweise: Alle in einem System möglichen Status-Werte müssen über FHIR korrekt repräsentiert werden können, mindestens jedoch die Status-Werte fragment und complete. Deren korrekte Abbildung wird im Rahmen des Bestätigungsverfahrens überprüft.

CodeSystem.concept

Bedeutung: Angabe der Konzepte, aus denen sich das CodeSystem zusammensetzt.
Hinweise: Es MUSS mindestens ein Code und ein Anzeigetext spezifiziert werden.

CodeSystem.concept.code
CodeSystem.concept.display
CodeSystem.concept.definition

Valides Minimalbeispiel:

This code system http://example.org/fhir/CodeSystem/TestKatalog defines the following codes:

CodeDisplayDefinition
testTestDies ist ein Test-Code
<CodeSystem xmlns="http://hl7.org/fhir">
    <id value="CodeSystemExample" />
    <meta>
        <profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKCodeSystem" />
    </meta>
    <url value="http://example.org/fhir/CodeSystem/TestKatalog" />
    <version value="4.0.1" />
    <name value="TestKatalog" />
    <status value="active" />
    <experimental value="false" />
    <date value="2024-11-25" />
    <publisher value="gematik GmbH" />
    <content value="complete" />
    <concept>
        <code value="test" />
        <display value="Test" />
        <definition value="Dies ist ein Test-Code" />
    </concept>
</CodeSystem>
{
    "resourceType": "CodeSystem",
    "id": "CodeSystemExample",
    "meta": {
        "profile":  [
            "https://gematik.de/fhir/isik/StructureDefinition/ISiKCodeSystem"
        ]
    },
    "version": "4.0.1",
    "status": "active",
    "experimental": false,
    "publisher": "gematik GmbH",
    "date": "2024-11-25",
    "url": "http://example.org/fhir/CodeSystem/TestKatalog",
    "name": "TestKatalog",
    "content": "complete",
    "concept":  [
        {
            "code": "test",
            "display": "Test",
            "definition": "Dies ist ein Test-Code"
        }
    ]
}