diff --git a/ImplementationGuide/Implementierungsleitfaden_ISiKBasismodul.json b/ImplementationGuide/Implementierungsleitfaden_ISiKBasismodul.json index e06348ec..f4ce7790 100644 --- a/ImplementationGuide/Implementierungsleitfaden_ISiKBasismodul.json +++ b/ImplementationGuide/Implementierungsleitfaden_ISiKBasismodul.json @@ -640,6 +640,70 @@ } ] }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Organisation.md", + "title": "Organisation (Organization)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/Organisation/Organisation_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Organisation/Organisation_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Organisation/Organisation_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Organisation/Organisation_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Organisation/Organisation_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, + { + "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Standort.md", + "title": "Standort (Location)", + "generation": "markdown", + "page": [ + { + "nameUrl": "ImplementationGuide/markdown/Standort/Standort_Motivation.md", + "title": "Motivation", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Standort/Standort_Kompatibilitaet.md", + "title": "Kompatibilität", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Standort/Standort_Profil.md", + "title": "Profil", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Standort/Standort_AnmerkungenZuDenMustSupportFeldern.md", + "title": "Anmerkungen", + "generation": "markdown" + }, + { + "nameUrl": "ImplementationGuide/markdown/Standort/Standort_Beispiele.md", + "title": "Beispiele", + "generation": "markdown" + } + ] + }, { "nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Binary.md", "title": "Binary (Binary)", diff --git a/ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Organisation.md b/ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Organisation.md new file mode 100644 index 00000000..8d8c481d --- /dev/null +++ b/ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Organisation.md @@ -0,0 +1,5 @@ +## Organisation [(Organization)](https://hl7.org/fhir/R4/organization.html) + +Die nachfolgenden Festlegungen spezifizieren die Abbildung von Minimalanforderungen für die Bereitstellung von Daten zur Aufbauorganisation im Rahmen des Bestätigungsverfahrens der gematik. + +--- \ No newline at end of file diff --git a/ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Standort.md b/ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Standort.md new file mode 100644 index 00000000..20cf90ee --- /dev/null +++ b/ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Standort.md @@ -0,0 +1,5 @@ +## Standort [(Location)](https://hl7.org/fhir/R4/location.html) + +Die nachfolgenden Festlegungen spezifizieren die Abbildung von Minimalanforderungen für die Bereitstellung von Standortdaten im Rahmen des Bestätigungsverfahrens der gematik. + +--- \ No newline at end of file diff --git a/ImplementationGuide/markdown/DecisionLog.md b/ImplementationGuide/markdown/DecisionLog.md index 317e562a..59e715cd 100644 --- a/ImplementationGuide/markdown/DecisionLog.md +++ b/ImplementationGuide/markdown/DecisionLog.md @@ -1,12 +1,16 @@ # Decision Log -11.3. +18.03.2024 +* Problem: Auswahl der Suchparameter für Organisation und Standort +*Lösung: Die Suchparameter Liste wurde geprüft in Hinblick auf naheligende Suchabfragen rund um Organisation und Standort (Location). In Bezug auf Standort wurden vorerst nicht berücksichtigt die Suchparameter: "endpoint", konkrete "address"-Paramter - z.B. address-city etc. -, "mode" und "name" + +11.3.2024 * Problem: Zum Kontext des Problems rund um spezifische Profile für Versicherten-IDs für GKV und PKV siehe https://chat.fhir.org/#narrow/stream/179183-german-.28d-a-ch.29/topic/Community-Feedback.20zum.20PKV-Identifier (bzw. PTData-718) VersichertenId-GKV * Lösung: siehe https://github.com/gematik/spec-ISiK-Basismodul/pull/382 -Datum 27.02. +Datum 27.02.2024 * Problem: Die MUSS-Anforderungen im Kontext von ISIKKatalog scheinen zu umfassend zu sein. * Lösung: Schwächung der Anforderungen für das Profil als ganzes: * Ressource ISIKKatalog als optional kennzeichnen (im Capability Statement). Alle anderen Suchparameter entfernen - genauso für IG. Nur für diese bleiben Test-Cases (optional) erhalten. diff --git a/ImplementationGuide/markdown/Organisation/Organisation_AnmerkungenZuDenMustSupportFeldern.md b/ImplementationGuide/markdown/Organisation/Organisation_AnmerkungenZuDenMustSupportFeldern.md new file mode 100644 index 00000000..d5922746 --- /dev/null +++ b/ImplementationGuide/markdown/Organisation/Organisation_AnmerkungenZuDenMustSupportFeldern.md @@ -0,0 +1,17 @@ +### Anmerkungen zu Must-Support-Feldern + + + + from + StructureDefinition + where + url = %canonical + for + differential.element + where + mustSupport = true + select Feldname: id, Kurzbeschreibung: short, Hinweise: comment + + + +--- \ No newline at end of file diff --git a/ImplementationGuide/markdown/Organisation/Organisation_Beispiele.md b/ImplementationGuide/markdown/Organisation/Organisation_Beispiele.md new file mode 100644 index 00000000..2c72bb60 --- /dev/null +++ b/ImplementationGuide/markdown/Organisation/Organisation_Beispiele.md @@ -0,0 +1,9 @@ +### Beispiele +Valides Minimalbeispiel eines Krankenhauses: +{{json:KrankenhausOrganisationBeispiel}} + +Valides Minimalbeispiel einer Fachabteilung: +{{json:AbteilungAllgemeinchirurgieOrganisationBeispiel}} + + + diff --git a/ImplementationGuide/markdown/Organisation/Organisation_Interaktionen.md b/ImplementationGuide/markdown/Organisation/Organisation_Interaktionen.md new file mode 100644 index 00000000..085cc7ff --- /dev/null +++ b/ImplementationGuide/markdown/Organisation/Organisation_Interaktionen.md @@ -0,0 +1,71 @@ +### Interaktionen + +Sofern die Ressourcen zur Organisation unterstützt werden, SOLL die REST-Interaktion "READ" implementiert werden. + +Interaktionen zur Organisation werden derzeit für das Bestätigungsverfahren nicht festgelegt. + +Auf folgende Suchparameter sei aufgrund der Relevanz hingewiesen - diese SOLLEN (in Einzelfällen KÖNNEN) implementiert werden, falls die oben genannten Ressourcen unterstützt werden: + +1. Der Suchparameter "identifier" SOLL unterstützt werden: + + Beispiele: + + ```GET [base]/Organization?identifier=http://fhir.de/sid/arge-ik/iknr|260120196``` + + ```GET [base]/Organization?identifier=http://fhir.de/StructureDefinition/identifier-bsnr|345678975``` + + ```GET [base]/Organization?identifier=345678975``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Organization.identifier" finden sich in der [FHIR-Basisspezifikation - Abschnitt "Token Search"](https://hl7.org/fhir/R4/search.html#token). + +1. Der Suchparameter "active" SOLL unterstützt werden: + + Beispiele: + + ```GET [base]/Organization?active=true``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Oganization.active" finden sich in der [FHIR-Basisspezifikation - Abschnitt "Token Search"](https://hl7.org/fhir/R4/search.html#token). + +1. Der Suchparameter "type" SOLL unterstützt werden: + + Beispiele: + + ```GET [base]/Organization?type=dept``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Oganization.type" finden sich in der [FHIR-Basisspezifikation - Abschnitt "Token Search"](https://hl7.org/fhir/R4/search.html#token). + +1. Der Suchparameter "name" SOLL unterstützt werden (dies gilt auch für das Element .alias): + + Beispiele: + + ```GET [base]/Organization?name=FA-Gynäkologie``` + + ```GET [base]/Organization?name=GYN``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Oganization.name" und "Oganization.alias" finden sich in der [FHIR-Basisspezifikation - Abschnitt "Token Search"](https://hl7.org/fhir/R4/search.html#token). + +1. Der Suchparameter "address" SOLL unterstützt werden: + + Beispiele + + ```GET [base]/Organization?address=Berlin``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Organization.address" finden sich in der [FHIR-Basisspezifikation - Abschnitt "String Search"](https://hl7.org/fhir/R4/search.html#string). + + +1. Der Suchparameter "partof" in Kombination mit einem identifier-Modifier SOLL unterstützt werden : + + Beispiele: + + ```GET [base]/Organization?partof:identifier=260120196``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Oganization.name" und "Oganization.alias" finden sich in der [FHIR-Basisspezifikation - Abschnitt "Token Search"](https://hl7.org/fhir/R4/search.html#token). + +1. Der Suchparameter "endpoint" in Kombination mit einem identifier-Modifier KANN unterstützt werden: + + Beispiele: + + ```GET [base]/Organization?endpoint:identifier=123456``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Organization.endpoint" finden sich in der [FHIR-Basisspezifikation - Abschnitt "String Search"](https://hl7.org/fhir/R4/search.html#string). + diff --git a/ImplementationGuide/markdown/Organisation/Organisation_Kompatibilitaet.md b/ImplementationGuide/markdown/Organisation/Organisation_Kompatibilitaet.md new file mode 100644 index 00000000..9a3864cc --- /dev/null +++ b/ImplementationGuide/markdown/Organisation/Organisation_Kompatibilitaet.md @@ -0,0 +1,5 @@ +### Kompatibilität + +Für das Profil ISiKOrganisation wurde bis zum Zeitpunkt der Veröffentlichung kein Abgleich der Kompatibilität zu anderen Profilen (der KBV und der Medizininformatik-Initiative) durchgeführt. + +--- diff --git a/ImplementationGuide/markdown/Organisation/Organisation_Motivation.md b/ImplementationGuide/markdown/Organisation/Organisation_Motivation.md new file mode 100644 index 00000000..6ad934b8 --- /dev/null +++ b/ImplementationGuide/markdown/Organisation/Organisation_Motivation.md @@ -0,0 +1,20 @@ +### Motivation + +Die Abbildung der Aufbauorganisation eines Krankenhauses dient der Festlegung von Zuständigkeiten und (Entscheidungs-)Verantwortungen von Organisationseinheiten (z.B. Fachkliniken, Fachabteilungen und -bereichen etc.) in strukturierter Form. + +In FHIR wird die Organisation (Organization) vom Standort (Location) eindeutig abgegrenzt. + +Die Erfassung der Organisation in strukturierter Form ermöglicht u.a.: +- Zuweisungen von Diensten an bestimmte Bereiche der Aufbauorganisation im Rahmen des Terminmanagements +- Die Raum- und Betten-Belegung in strukturierter Form (interdisziplinär) + +Auch die Erfassung des Krankenhauses als Ganzem ist relevant. +Entsprechend fokussieren die folgenden Profile zur Organisation auf das Krankenhaus als Ganzes und die Fachabteilung als Organisation. + +--- + +#### Normativer Status und Bestätigung + +Diese Profile MÜSSEN im Rahmen der Bestätigung NICHT unterstützt werden. Falls ein Profil unterstützt wird, SOLLEN die hier definierten Festlegungen greifen. + +--- \ No newline at end of file diff --git a/ImplementationGuide/markdown/Organisation/Organisation_Profil.md b/ImplementationGuide/markdown/Organisation/Organisation_Profil.md new file mode 100644 index 00000000..34f94174 --- /dev/null +++ b/ImplementationGuide/markdown/Organisation/Organisation_Profil.md @@ -0,0 +1,60 @@ +### FHIR-Profil + +Das Profil ISiKOrganisation soll auch ein Krankenhaus als Ganzes abbilden können: + +@``` +from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisation' select Name: name, Canonical: url +``` +{{tree:https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisation, hybrid}} + +Folgende FHIRPath-Constraints sind im Profil zu beachten: + +@``` from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisation' for differential.element.constraint select key, severity, human, expression``` + +**Terminology Bindings** + +@``` +from StructureDefinition +where url in ('https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisation' ) +for differential.element +select +Path: path, +join binding.where(valueSet.exists()) +{ + Name: valueSet.substring((9 + valueSet.indexOf('ValueSet/'))), + Strength: strength, + URL: valueSet +} +``` + +--- + +Das Profil ISiKOrganisationFachabteilung soll eine einzelne Fachabteilung abbilden: + +@``` +from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung' select Name: name, Canonical: url +``` +{{tree:https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung, hybrid}} + +Folgende FHIRPath-Constraints sind im Profil zu beachten: + +@``` from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung' for differential.element.constraint select key, severity, human, expression``` + + +**Terminology Bindings** + +@``` +from StructureDefinition +where url in ('https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung' ) +for differential.element +select +Path: path, +join binding.where(valueSet.exists()) +{ + Name: valueSet.substring((9 + valueSet.indexOf('ValueSet/'))), + Strength: strength, + URL: valueSet +} +``` + +--- diff --git a/ImplementationGuide/markdown/Standort/Standort_AnmerkungenZuDenMustSupportFeldern.md b/ImplementationGuide/markdown/Standort/Standort_AnmerkungenZuDenMustSupportFeldern.md new file mode 100644 index 00000000..eeda807c --- /dev/null +++ b/ImplementationGuide/markdown/Standort/Standort_AnmerkungenZuDenMustSupportFeldern.md @@ -0,0 +1,16 @@ +### Anmerkungen zu Must-Support-Feldern + + + + from + StructureDefinition + where + url = %canonical + for + differential.element + where + mustSupport = true + select Feldname: id, Kurzbeschreibung: short, Hinweise: comment + + +--- \ No newline at end of file diff --git a/ImplementationGuide/markdown/Standort/Standort_Beispiele.md b/ImplementationGuide/markdown/Standort/Standort_Beispiele.md new file mode 100644 index 00000000..2d2d1c41 --- /dev/null +++ b/ImplementationGuide/markdown/Standort/Standort_Beispiele.md @@ -0,0 +1,9 @@ +### Beispiele + +Valides Minimalbeispiel zum Standort Bettenstellplatz: +{{json:BettStandortBeispiel}} + + +Valides Minimalbeispiel zum Standort Raum: +{{json:RaumStandortBeispiel}} + diff --git a/ImplementationGuide/markdown/Standort/Standort_Interaktionen.md b/ImplementationGuide/markdown/Standort/Standort_Interaktionen.md new file mode 100644 index 00000000..7cf708f5 --- /dev/null +++ b/ImplementationGuide/markdown/Standort/Standort_Interaktionen.md @@ -0,0 +1,85 @@ +### Interaktionen + +Sofern die Ressourcen zum Standort unterstützt werden, SOLL die REST-Interaktion "READ" implementiert werden. Ebenso SOLL die REST-Interaktion "UPDATE" implementiert werden. Letztere dient insbesondere dem Synchronisieren des Status (.operationalStatus) der abgeleiteten Ressourcen ISiKStandortRaum und ISiKStandortBettenstellplatz - u.a. zur Kennzeichnung als "Frei", "Besetzt", "Kontaminiert", "Isoliert", in "Reinigung" etc. + + +Interaktionen zum Standort werden derzeit für das Bestätigungsverfahren nicht festgelegt. + +Auf folgende Suchparameter sei aufgrund der Relevanz hingewiesen - diese SOLLEN implementiert werden, falls die oben genannten Ressourcen unterstützt werden: + + +1. Der Suchparameter "identifier" SOLL unterstützt werden: + + Beispiele: + + ```GET [base]/Location?identifier=http://fhir.krankenhaus.example|260120196``` + + ```GET [base]/Location?identifier=345678975``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Location.identifier" finden sich in der [FHIR-Basisspezifikation - Abschnitt "Token Search"](https://hl7.org/fhir/R4/search.html#token). + +1. Der Suchparameter "address" SOLL unterstützt werden: + + Beispiele + + ```GET [base]/Location?address=Berlin``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Location.address" finden sich in der [FHIR-Basisspezifikation - Abschnitt "String Search"](https://hl7.org/fhir/R4/search.html#string). + +tbd. hier https://build.fhir.org/searchparameter-registry.html + +1. Der Suchparameter "operational-status" SOLL unterstützt werden: + + Beispiel zur Suche freier Standorte: + + ```GET [base]/Location?operational-status=Unoccupied``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Location.operational-status" finden sich in der [FHIR-Basisspezifikation - Abschnitt "String Search"](https://hl7.org/fhir/R4/search.html#string). + +tbd. hier https://build.fhir.org/searchparameter-registry.html + +1. Der Suchparameter "organization" SOLL unterstützt werden: + + Beispiel zur Suche von Standorten einer Organisation: + + ```GET [base]/Location?organization=AbteilungAllgemeinchirurgieOrganisationBeispiel``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Location.organization" finden sich in der [FHIR-Basisspezifikation - Abschnitt "String Search"](https://hl7.org/fhir/R4/search.html#string). + +1. Der Suchparameter "characteristic" SOLL unterstützt werden: + + Beispiel zur Suche nach Bettenstellplätzen (ggf. mit zusätzlichem operationalStatus "Unoccupied"): + ```GET [base]/Location?characteristic=bed``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Location.characteristic" finden sich in der [FHIR-Basisspezifikation - Abschnitt "String Search"](https://hl7.org/fhir/R4/search.html#string). + +1. Der Suchparameter "type" KANN unterstützt werden: + + Beispiel zur Suche nach Typ eines Standorts: + ```GET [base]/Location?type=bed``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Location.type" finden sich in der [FHIR-Basisspezifikation - Abschnitt "String Search"](https://hl7.org/fhir/R4/search.html#string). + + +1. Der Suchparameter "partof" KANN unterstützt werden: + + Beispiel zur Suche nach Standort-Zugehörigkeit eines Raums: + ```GET [base]/Location?partof=RaumStandortBeispiel``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Location.operational-status" finden sich in der [FHIR-Basisspezifikation - Abschnitt "String Search"](https://hl7.org/fhir/R4/search.html#string). + +1. Der Suchparameter "contains" KANN unterstützt werden: + + Beispiel zur Suche nach Standort-Zugehörigkeit eines Raums: + ```GET [base]/Location?contains=KoordinatenBeispielGeoJSON``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Location.contains" finden sich in der [FHIR-Basisspezifikation - Abschnitt "String Search"](https://hl7.org/fhir/R4/search.html#string). + +1. Der Suchparameter "near" KANN unterstützt werden: + + Beispiel zur Suche nach Standort nahe (100m) Koordinaten: + ```GET [base]/Location?contains=52.525851|13.37774|100|m``` + + Anwendungshinweise: Weitere Informationen zur Suche nach "Location.near" finden sich in der [FHIR-Basisspezifikation - Abschnitt "String Search"](https://hl7.org/fhir/R4/search.html#string). + + diff --git a/ImplementationGuide/markdown/Standort/Standort_Kompatibilitaet.md b/ImplementationGuide/markdown/Standort/Standort_Kompatibilitaet.md new file mode 100644 index 00000000..a5ae1b4d --- /dev/null +++ b/ImplementationGuide/markdown/Standort/Standort_Kompatibilitaet.md @@ -0,0 +1,5 @@ +### Kompatibilität + +Für das Profil ISiKStandort wurde bis zum Zeitpunkt der Veröffentlichung kein Abgleich der Kompatibilität zu anderen Profilen (der KBV und der Medizininformatik-Initiative) durchgeführt. + +--- diff --git a/ImplementationGuide/markdown/Standort/Standort_Motivation.md b/ImplementationGuide/markdown/Standort/Standort_Motivation.md new file mode 100644 index 00000000..d50ee957 --- /dev/null +++ b/ImplementationGuide/markdown/Standort/Standort_Motivation.md @@ -0,0 +1,27 @@ +### Motivation +In FHIR wird die Organisation (Organization) vom Standort (Location) eindeutig abgegrenzt. + +Die Abbildung von Standorten in einem Krankenhaus unterstützt u.a. die Raum- und Bettenbelegung in strukturierter Form. + +Die Erfassung des Standortes in strukturierter Form soll u.a. ermöglichen: +- Zuweisungen von Diensten an bestimmte Standorte im Rahmen des Terminmanagements +- Die Raum- und Betten-Belegung in strukturierter Form (interdisziplinär) - u.a. für + - Patientenportale im Rahmen der Terminbuchung, z.B. um den Wunsch nach Einzelbett, bzw. 1 oder 2 Betten abzubilden + - KIS und weitere Subsysteme: + - zur Patientenabholung und Information für den Transportdienst + - Abbildung der Verfügbarkeit eines spezifischen Bettenstellplatzes (z.B. mit spezifischem Monitoring-Device) +- Im Rahmen der Versorgung kann eine der folgenden Beispiel-Fragen beantworten werden: + - Handelt es sich um ein Isolationszimmer? + - Gibt es bestimmte Ausstattung, z.B. Beatmungsgeräte? + - etc. + +Dafür werden Standort-Profile in unterschiedlicher Granularität definiert. + +--- + +#### Normativer Status und Bestätigung + +Diese Profile MÜSSEN im Rahmen der Bestätigung NICHT unterstützt werden. Falls ein Profil unterstützt wird, SOLLEN die hier definierten Festlegungen greifen. + + +--- \ No newline at end of file diff --git a/ImplementationGuide/markdown/Standort/Standort_Profil.md b/ImplementationGuide/markdown/Standort/Standort_Profil.md new file mode 100644 index 00000000..9ad37afe --- /dev/null +++ b/ImplementationGuide/markdown/Standort/Standort_Profil.md @@ -0,0 +1,92 @@ +### FHIR-Profile + +Das Profil ISiKStandort soll auch den Standort eines Krankenhauses abbilden können. + +@``` +from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort' select Name: name, Canonical: url +``` +{{tree:https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort, hybrid}} + +Folgende FHIRPath-Constraints sind im Profil zu beachten: + +@``` from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort' for differential.element.constraint select key, severity, human, expression``` + +**Terminology Bindings** + +@``` +from StructureDefinition +where url in ('https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort' ) +for differential.element +select +Path: path, +join binding.where(valueSet.exists()) +{ + Name: valueSet.substring((9 + valueSet.indexOf('ValueSet/'))), + Strength: strength, + URL: valueSet +} +``` + +--- + +Folgendes Profil dient der Abbildung eines Raums: + +@``` +from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortRaum' select Name: name, Canonical: url +``` +{{tree:https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortRaum, hybrid}} + +Folgende FHIRPath-Constraints sind im Profil zu beachten: + +@``` from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort' for differential.element.constraint select key, severity, human, expression``` + +**Terminology Bindings** + +@``` +from StructureDefinition +where url in ('https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortRaum' ) +for differential.element +select +Path: path, +join binding.where(valueSet.exists()) +{ + Name: valueSet.substring((9 + valueSet.indexOf('ValueSet/'))), + Strength: strength, + URL: valueSet +} +``` + +--- + +Folgendes Profil dient der Abbildung eines Bettenstellplatzes : + +@``` +from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortBettenstellplatz' select Name: name, Canonical: url +``` +{{tree:https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortBettenstellplatz, hybrid}} + +Folgende FHIRPath-Constraints sind im Profil zu beachten: + +@``` from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortBettenstellplatz' for differential.element.constraint select key, severity, human, expression``` + + + +Ein einzelnes Bett als Gegenstand kann als FHIR-Ressource 'Device' abgebildet werden, das einen Bettenstellplatz referenziert. + +**Terminology Bindings** + +@``` +from StructureDefinition +where url in ('https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortBettenstellplatz' ) +for differential.element +select +Path: path, +join binding.where(valueSet.exists()) +{ + Name: valueSet.substring((9 + valueSet.indexOf('ValueSet/'))), + Strength: strength, + URL: valueSet +} +``` + + diff --git a/Material/Anforderungssteckbrief-Organisation.md b/Material/Anforderungssteckbrief-Organisation.md new file mode 100644 index 00000000..b7a21e67 --- /dev/null +++ b/Material/Anforderungssteckbrief-Organisation.md @@ -0,0 +1,107 @@ +# Steckbrief +Es wurden Bedarfe nach Abbildung sowohl der KH-Aufbauorganisation (FHIR Ressource Organization), als auch von Campi, Standorten etc. (FHIR Location) gemeldet. + +## Bedarfe und Use Case Kontext +Folgende Bedarfe, Anforderungen und Use Cases finden im Rahmen der Ausbaustufe 4 von ISIK zwecks Festlegung im Implementierungsleitfaden und in Profilen Beachtung: + +1. Die (Raum- und Betten-)Belegung (interdisziplinär) sollte strukturiert erfolgen können. + - Frage - grundsätzlich: Wir gehen davon aus, dass die Raum- und Bettenbelegung Bestandteil der Funktionalität eines KIS ist. Was wären Use-Cases um diese Information über eine Schnittstelle zu kommunizieren? +1. Im Rahmen des Terminmanagements sollten Zuweisungen von Diensten an bestimmte Bereiche der Aufbauorganisation (Fachbereiche etc.) und an bestimmte Standorte möglich sein. + - Fragen: + - Welche Granularität an Standorten ist hier sinnvoll (s.u.)? + - Welche Profile in ISIK Terminplanung betroffen? + - Folgende Abgebildet in UML: + - ISiKKalender Schedule.actor referenziert u.a. Location + - ISiKTerminKontaktMitGesundheitseinrichtung serviceProvider Reference(Organization) hierfür Fachabteilungs-Organisation (aber nicht ausschließlich) - (hier auch Basis-Encounter) + - ISiKNachricht.recipient und .sender (erstmal ausklammern) + -ISiKMedizinischeBehandlungseinheit (HealthCareService) + - .providedBy (Organization) und + - .location Reference(Location) - aber NICHT (?) coverageArea(?) +1. Im Rahmen der Versorgung sollte eine der folgenden Beispiel-Fragen beantworten werden können: + - Handelt es sich um ein Isolationszimmer? + -Frage: Abzubilden in Location, aber welches Element? + - Gibt es bestimmte Ausstattung, z.B. Beatmungsgeräte + - etc. +1. Informationen für eAU sollten auch in ISIK abgebildet werden – hier insbesondere BSNR (Betriebsstättennummer) + +## Lösungswege- und optionen + +- Profile zu den FHIR Ressourcen Organization und Location sollen spezifiziert werden (siehe bestehenden PR) +- Ein Profil zur FHIR Ressource HealthCareService soll diskutiert werden (dies Bereits in Terminplanung enthalten) +- Bestehende Profile, die zu beachten sind hinsichtlich der Kompatibilität: + - Medizin Informatik Initiative https://simplifier.net/MedizininformatikInitiative-ModulStrukturdaten/~introduction, bzw siehe hier unter Strukturdaten https://art-decor.org/art-decor/decor-datasets--mide- + - hier werden Profile zu Organisation und Standort (Location) vorgelegt + - differenziert wird zwischen Abteilungen als Organisationen und Abteilungsidentifikatoren, letztere erfordern dezidierten .identifier und der Organisationstyp ist (mittels Slice) fest codiert mit "dept", zur Codierung des Typs der Abteilungen wird folgendes ValueSet genutzt: http://fhir.de/CodeSystem/dkgev/Fachabteilungsschluessel-erweitert + -Organisation als ganzes Krankenhaus nutzt IKNR + - E-Rezept ServiceRequest https://simplifier.net/erezept-servicerequest/erp-service-request-organization + - hier werden für identifier KINAdresse und TIMAdresse vorgesehen + - dies soll auch IN ISIK übernommen werden. Ein USe Case zur Motivation lautet folgendermaßen: Bei einem Transfer zwischen den Fachkliniken Gynäkologie und Dermatologie fragt eine Mitarbeiterin aus der Gynäkologie einen Mitarbeiter aus der Dermatologie zu nicht erfassten Informationen eines Patienten an, der gerade verlegt wurde. Die Mitarbeitern kann dabei direkt TIM, weil die entsprechende Adresse im Profil-Identifier zur Organisationseinheit vorgehalten ist. + - VZD: + - https://simplifier.net/vzd-fhir-directory/organizationdirectory + - hier wird ein Organization.type gefordert (1..), das verwendete Value Set ist jedoch nicht nutzbar innerhalb des Krankenhaus-Kontext und damit Abweichung notwendig + -Organization.identifier betreffend gilt: + - auf die Angabe einer Abrechnungsnummer der Kassenzahnärztlichen Bundesvereinigung wird in ISIK verzichtet, da Zahnarztpraxen keine (Teil-)Organisationen eines Krankenhauses sind und damit nicht im Umfang des Moduls enthalten sein sollen + - auf die Angabe einer Vertragskassennummer (VKNR) wird in ISIK verzichtet, da Krankenkassen nicht im Umfang enthalten + - https://simplifier.net/vzd-fhir-directory/healthcareservicedirectory + - https://simplifier.net/vzd-fhir-directory/locationdirectory + +## Abgeleitete Anforderungen + +Abgeleitete Anforderungen (fragmentarisch) aus Bedarfsmeldung und Lösungsoptionen. + +### Profilauswahl +1. Profile zum Standort (Location) und Organisation sind notwendig. +1. Ein Profil zur Organisation soll eine Fachabteilung abbilden können. + +Als Standorte für ISiK sind momentan Profile angedacht und profiliert als draft (WIP): +- generischer Standort +- Raum +- Bett + +In Betracht gezogen: +- Station + +Diese bisher alle für das Encounter-Profil ISiKKOntaktGesundheitseinrichtung.location genutzt + +Zu bedenken: +- Gebäude (z.B. verschiedene Gebäude im Pavillonsystem; ggf. auch Krankensäle im Kammsystem) + - ggf. abzugrenzen von Klinik? +- Campus (vgl. Charité mit Campus 1) Mitte , 2) Virchow und 3) Benjamin Franklin) + +### Weitere Anforderungen (tbd.) +Weitere (implizite) Anforderungen an die Festlegung zu Organisation und Standort in ISIK + +1. Auswahl geeigneter Suchparameter muss getroffen werden +1. Use Cases mit bestehenden Modulen auszuarbeiten - insbesondere Terminplanung (siehe auch Bedarf oben zur Bettenbelegung) +1. Profil ISiKOrganisation sollte sich möglichst an das entsprechende Profil der FHIR-VZD der gematik / KBV orientieren. + - siehe insbesondere .identifier + + +## Fragen +Fragen und Annahmen zur Validierung. + +### Annahmen +Fragen, die intern beantwortet wurde, jedoch gegenüber der Community validiert werden sollen. + +1. Soll das Profil Organization (Fachabteilung) auch explizit KIM und TIM Adressen als identifier führen? Siehe Analog: https://github.com/gematik/spec-E-Rezept-ServiceRequest/blob/master/Resources/input/fsh/profiles/8_Organization.fsh -> ja s.u. ; weiteres intern zu klären +1. Soll ein Profil zur Organisation auch ein Krankenhaus als ganzes abbilden können? + - Gegenargument: Der Vorteil in der Abbildung einer Organization-Ressource besteht darin, dass man die Hierarchie von Abteilungen, Kliniken, etc. abbilden kann (per Organization.partOf). Falls es nur darum geht die Zuständigkeit zu annotieren, könnte dies auch "inline" per Display-Value (Name der Organization) und Identifier (z.B. IKNR der Organization) erfolgen. + +### Offene Fragen +Weitere Fragen, die offen sind und mit Community diskutiert werden sollen. + +1. Wie soll die Modularisierung / Paketierung gegenüber Terminplanung erfolgen (insbesondere HealthCareService)? +1. Grundsatzfrage: Kodierung der unterschiedlichen Profile für + - ISIKOrganisation (Fachabteilung) - ggf. zu lösen mit Fachabteilungsschlüssel + ) https://simplifier.net/packages/de.basisprofil.r4/1.4.0/files/656780 + - Standorte: Raum, Bett (ggf. Station) +1. Soll das Profil Organisation (ggf. Fachabteilung) auch explizit die Standortnummer führen (oder eher für Profil Location?)? Siehe https://www.dkgev.de/themen/digitalisierung-daten/informationstechnik-im-krankenhaus/verzeichnisse-und-register/standortverzeichnis/; Hintergrund: https://reimbursement.institute/glossar/standortnummer/ + + +## TODOs + +1. Prüfung der MS-Flags und Interaktionen + +**Hintergrund** + +Die oben genannten Punkte entsprechen den konsolidierten Punkten, wie sie [hier](https://github.com/gematik/spec-ISiK-Basismodul/discussions/326) in Folge der Arbeitsgruppen zum ISIK-Basismodul festgehalten und veröffentlicht wurden. diff --git a/Material/images/src/plantuml/Standort-Organisation.puml b/Material/images/src/plantuml/Standort-Organisation.puml new file mode 100644 index 00000000..41be6fed --- /dev/null +++ b/Material/images/src/plantuml/Standort-Organisation.puml @@ -0,0 +1,112 @@ +@startuml + +namespace ISiK_Basis { + + namespace ISiK_Basis_NEU_Standort_Organisation { + + class ISiKStandort <<(P,#1dde23)>> + ' https://build.fhir.org/location.html + + class ISiKStandortRaum <<(P,#1dde23)>> + + class ISiKStandortBettenstellplatz <<(P,#1dde23)>> + + class ISiKOrganisationFachbteilung <<(P,#1dde23)>> + + ISiKStandort <|-- ISiKStandortRaum + ISiKStandort <|-- ISiKStandortBettenstellplatz + ISiKStandort o-- ISiKStandort : .partof 0..1 + + ' https://build.fhir.org/organization.html + class ISiKOrganisationFachbteilung <<(P,#1dde23)>> + ISiKOrganisationFachbteilung o-- ISiKStandort : managingOrganization 0..1 + + } + + class ISIK_KontaktmitGesundheitseinrichtung <<(P,#8DA5C4)>> + + ISiK_Basis.ISiK_Basis_NEU_Standort_Organisation.ISiKOrganisationFachbteilung o-- ISIK_KontaktmitGesundheitseinrichtung : .serviceProvider + +} + +note top of ISiK_Basis: Nur für Standort und Organisation wesentliche Profile + + +namespace ISiK_Terminplanung { + class ISiKKalender <<(P,#8DA5C4)>> + class ISiKMedizinischeBehandlungseinheit <<(P,#8DA5C4)>> + class ISiKNachricht <<(P,#8DA5C4)>> +} + +ISiK_Basis.ISiK_Basis_NEU_Standort_Organisation.ISiKStandort o-- ISiK_Terminplanung.ISiKKalender : .actor 1..* +ISiK_Basis.ISiK_Basis_NEU_Standort_Organisation.ISiKOrganisationFachbteilung o-- ISiK_Terminplanung.ISiKMedizinischeBehandlungseinheit : .providedBy 0..1 + + + +ISiK_Basis --up[hidden]-> ISiK_Terminplanung + + + +/' +together ISiK_Terminplanung { + + class ISiKKalender <<(P,#8DA5C4)>>{ + extension : **ScheduleName** + |_ (All Slices) + |_ extension + |_ KalenderName : **Extension** + active + serviceType + specialty + |_ Fachrichtung : **IHEXDSauthorSpeciality** + actor : Reference ( **Patient** | **Practitioner** | PractitionerRole | \n\t**RelatedPerson** | Device | HealthcareService | Location) + |_ identifier + |_ display + |_ Akteur : Reference (**Practitioner** | HealthcareService) + |_ reference + } + + class ISiKMedizinischeBehandlungseinheit <<(P,#8DA5C4)>>{ + active + type + specialty + |_ Fachrichtung : **IHEXDSauthorSpeciality** + name + } + + class ISiKNachricht <<(P,#8DA5C4)>>{ + inResponseTo : Reference (Communication) + status + subject : Reference ( **Patient** ) + sent + recipient : Reference ( Device | Organization | **Patient** | **Practitioner** | \n\tPractitionerRole | **RelatedPerson** | Group | CareTeam | HealthcareService) + |_ identifier + |_ display + |_ ISiKRecipient : Reference ( **Practitioner** | HealthcareService) + |_ reference + sender : Reference ( Device | Organization | **Patient** | **Practitioner** | \n\tPractitionerRole | **RelatedPerson** | HealthcareService) + |_ reference + payload : BackboneElement + |_ content[x] + |_ contentString + |_ contentAttachment + |_ contentType + |_ data + |_ url + |_ creation + } + + class ISiKTermin <<(P,#8DA5C4)>>{ + + } + + class ISiKTerminblock <<(P,#8DA5C4)>>{ + + } + + class ISiKTerminKontaktMitGesundheitseinrichtung <<(P,#8DA5C4)>>{ + + } +} + +'/ \ No newline at end of file diff --git a/Resources/fsh-generated/fsh-index.json b/Resources/fsh-generated/fsh-index.json index dc6e5daf..68cc1ec2 100644 --- a/Resources/fsh-generated/fsh-index.json +++ b/Resources/fsh-generated/fsh-index.json @@ -69,7 +69,7 @@ "fshType": "Instance", "fshFile": "ISiKCapabilityStatementBasisServer.fsh", "startLine": 1, - "endLine": 810 + "endLine": 1103 }, { "outputFile": "CodeSystem-CodeSystemExample.json", @@ -167,6 +167,22 @@ "startLine": 55, "endLine": 68 }, + { + "outputFile": "Location-BettenstellplatzStandortBeispiel.json", + "fshName": "BettenstellplatzStandortBeispiel", + "fshType": "Instance", + "fshFile": "ISiKStandort.fsh", + "startLine": 56, + "endLine": 60 + }, + { + "outputFile": "Location-RaumStandortBeispiel.json", + "fshName": "RaumStandortBeispiel", + "fshType": "Instance", + "fshFile": "ISiKStandort.fsh", + "startLine": 50, + "endLine": 54 + }, { "outputFile": "Observation-ISiKAlkoholAbususBeispiel.json", "fshName": "ISiKAlkoholAbususBeispiel", @@ -207,6 +223,22 @@ "startLine": 115, "endLine": 125 }, + { + "outputFile": "Organization-AbteilungAllgemeinchirurgieOrganisationBeispiel.json", + "fshName": "AbteilungAllgemeinchirurgieOrganisationBeispiel", + "fshType": "Instance", + "fshFile": "ISiKOrganisation.fsh", + "startLine": 216, + "endLine": 224 + }, + { + "outputFile": "Organization-KrankenhausOrganisationBeispiel.json", + "fshName": "KrankenhausOrganisationBeispiel", + "fshType": "Instance", + "fshFile": "ISiKOrganisation.fsh", + "startLine": 206, + "endLine": 213 + }, { "outputFile": "Patient-DorisQuelle.json", "fshName": "DorisQuelle", @@ -375,6 +407,22 @@ "startLine": 1, "endLine": 15 }, + { + "outputFile": "StructureDefinition-ISiKOrganisation.json", + "fshName": "ISiKOrganisation", + "fshType": "Profile", + "fshFile": "ISiKOrganisation.fsh", + "startLine": 105, + "endLine": 203 + }, + { + "outputFile": "StructureDefinition-ISiKOrganisationFachabteilung.json", + "fshName": "ISiKOrganisationFachabteilung", + "fshType": "Profile", + "fshFile": "ISiKOrganisation.fsh", + "startLine": 1, + "endLine": 101 + }, { "outputFile": "StructureDefinition-ISiKPatient.json", "fshName": "ISiKPatient", @@ -423,6 +471,30 @@ "startLine": 18, "endLine": 30 }, + { + "outputFile": "StructureDefinition-ISiKStandort.json", + "fshName": "ISiKStandort", + "fshType": "Profile", + "fshFile": "ISiKStandort.fsh", + "startLine": 1, + "endLine": 29 + }, + { + "outputFile": "StructureDefinition-ISiKStandortBettenstellplatz.json", + "fshName": "ISiKStandortBettenstellplatz", + "fshType": "Profile", + "fshFile": "ISiKStandort.fsh", + "startLine": 40, + "endLine": 47 + }, + { + "outputFile": "StructureDefinition-ISiKStandortRaum.json", + "fshName": "ISiKStandortRaum", + "fshType": "Profile", + "fshFile": "ISiKStandort.fsh", + "startLine": 31, + "endLine": 38 + }, { "outputFile": "StructureDefinition-ISiKStillstatus.json", "fshName": "ISiKStillstatus", diff --git a/Resources/fsh-generated/fsh-index.txt b/Resources/fsh-generated/fsh-index.txt index d73147ab..3e96627e 100644 --- a/Resources/fsh-generated/fsh-index.txt +++ b/Resources/fsh-generated/fsh-index.txt @@ -7,7 +7,7 @@ Binary-Binary-PDF-Example-short.json Binary- Binary-Binary-PDF-Example.json Binary-PDF-Example Instance ISiKBinary.fsh 36 - 41 Bundle-ISiKBundle-Example.json ISiKBundle-Example Instance ISiKBerichtBundle.fsh 24 - 38 Bundle-SubscriptionNotificationBundleExample.json SubscriptionNotificationBundleExample Instance IsiKPatientMerge.fsh 93 - 102 -CapabilityStatement-ISiKCapabilityStatementBasisServer.json ISiKCapabilityStatementBasisServer Instance ISiKCapabilityStatementBasisServer.fsh 1 - 810 +CapabilityStatement-ISiKCapabilityStatementBasisServer.json ISiKCapabilityStatementBasisServer Instance ISiKCapabilityStatementBasisServer.fsh 1 - 1103 CodeSystem-CodeSystemExample.json CodeSystemExample Instance ISiKCodeSystem.fsh 17 - 27 Composition-composition-blutdruck.json composition-blutdruck Instance ISiKBerichtSubSysteme.fsh 66 - 83 Condition-BehandlungsDiagnoseFreitext.json BehandlungsDiagnoseFreitext Instance ISiKDiagnose.fsh 123 - 130 @@ -20,11 +20,15 @@ Coverage-CoverageGesetzlich.json Coverag Coverage-CoveragePrivat.json CoveragePrivat Instance ISiKVersicherungsverhaeltnisSelbstzahler.fsh 16 - 22 Encounter-Fachabteilungskontakt.json Fachabteilungskontakt Instance ISiKKontaktGesundheitseinrichtung.fsh 136 - 173 Encounter-FachabteilungskontaktMinimal.json FachabteilungskontaktMinimal Instance ISiKBerichtBundle.fsh 55 - 68 +Location-BettenstellplatzStandortBeispiel.json BettenstellplatzStandortBeispiel Instance ISiKStandort.fsh 56 - 60 +Location-RaumStandortBeispiel.json RaumStandortBeispiel Instance ISiKStandort.fsh 50 - 54 Observation-ISiKAlkoholAbususBeispiel.json ISiKAlkoholAbususBeispiel Instance ISiKLebenszustandOberservations.fsh 73 - 82 Observation-ISiKRaucherStatusBeispiel.json ISiKRaucherStatusBeispiel Instance ISiKLebenszustandOberservations.fsh 94 - 103 Observation-ISiKSchwangerschaftErwarteterEntbindungsterminBeispiel.json ISiKSchwangerschaftErwarteterEntbindungsterminBeispiel Instance ISiKLebenszustandOberservations.fsh 52 - 61 Observation-ISiKSchwangerschaftsstatusBeispiel.json ISiKSchwangerschaftsstatusBeispiel Instance ISiKLebenszustandOberservations.fsh 32 - 41 Observation-ISiKStillstatusBeispiel.json ISiKStillstatusBeispiel Instance ISiKLebenszustandOberservations.fsh 115 - 125 +Organization-AbteilungAllgemeinchirurgieOrganisationBeispiel.json AbteilungAllgemeinchirurgieOrganisationBeispiel Instance ISiKOrganisation.fsh 216 - 224 +Organization-KrankenhausOrganisationBeispiel.json KrankenhausOrganisationBeispiel Instance ISiKOrganisation.fsh 206 - 213 Patient-DorisQuelle.json DorisQuelle Instance IsiKPatientMerge.fsh 46 - 58 Patient-DorisResultat.json DorisResultat Instance IsiKPatientMerge.fsh 74 - 91 Patient-DorisZiel.json DorisZiel Instance IsiKPatientMerge.fsh 60 - 72 @@ -46,12 +50,17 @@ StructureDefinition-ISiKCodeSystem.json ISiKCod StructureDefinition-ISiKDiagnose.json ISiKDiagnose Profile ISiKDiagnose.fsh 1 - 55 StructureDefinition-ISiKKontaktGesundheitseinrichtung.json ISiKKontaktGesundheitseinrichtung Profile ISiKKontaktGesundheitseinrichtung.fsh 1 - 120 StructureDefinition-ISiKLebensZustand.json ISiKLebensZustand Profile ISiKLebenszustandOberservations.fsh 1 - 15 +StructureDefinition-ISiKOrganisation.json ISiKOrganisation Profile ISiKOrganisation.fsh 105 - 203 +StructureDefinition-ISiKOrganisationFachabteilung.json ISiKOrganisationFachabteilung Profile ISiKOrganisation.fsh 1 - 101 StructureDefinition-ISiKPatient.json ISiKPatient Profile ISiKPatient.fsh 1 - 120 StructureDefinition-ISiKPersonImGesundheitsberuf.json ISiKPersonImGesundheitsberuf Profile ISiKPersonImGesundheitsberuf.fsh 1 - 89 StructureDefinition-ISiKProzedur.json ISiKProzedur Profile ISiKProzedur.fsh 1 - 50 StructureDefinition-ISiKRaucherStatus.json ISiKRaucherStatus Profile ISiKLebenszustandOberservations.fsh 84 - 92 StructureDefinition-ISiKSchwangerschaftErwarteterEntbindungstermin.json ISiKSchwangerschaftErwarteterEntbindungstermin Profile ISiKLebenszustandOberservations.fsh 43 - 50 StructureDefinition-ISiKSchwangerschaftsstatus.json ISiKSchwangerschaftsstatus Profile ISiKLebenszustandOberservations.fsh 18 - 30 +StructureDefinition-ISiKStandort.json ISiKStandort Profile ISiKStandort.fsh 1 - 29 +StructureDefinition-ISiKStandortBettenstellplatz.json ISiKStandortBettenstellplatz Profile ISiKStandort.fsh 40 - 47 +StructureDefinition-ISiKStandortRaum.json ISiKStandortRaum Profile ISiKStandort.fsh 31 - 38 StructureDefinition-ISiKStillstatus.json ISiKStillstatus Profile ISiKLebenszustandOberservations.fsh 105 - 113 StructureDefinition-ISiKValueSet.json ISiKValueSet Profile ISiKValueSet.fsh 1 - 22 StructureDefinition-ISiKVersicherungsverhaeltnisGesetzlich.json ISiKVersicherungsverhaeltnisGesetzlich Profile ISiKVersicherungsverhaeltnisGesetzlich.fsh 1 - 41 diff --git a/Resources/fsh-generated/resources/CapabilityStatement-ISiKCapabilityStatementBasisServer.json b/Resources/fsh-generated/resources/CapabilityStatement-ISiKCapabilityStatementBasisServer.json index 86e5a53b..74904b04 100644 --- a/Resources/fsh-generated/resources/CapabilityStatement-ISiKCapabilityStatementBasisServer.json +++ b/Resources/fsh-generated/resources/CapabilityStatement-ISiKCapabilityStatementBasisServer.json @@ -1776,6 +1776,682 @@ } ] }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "type": "Location", + "supportedProfile": [ + "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "identifier", + "definition": "http://hl7.org/fhir/SearchParameter/Location-identifier", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address", + "definition": "http://hl7.org/fhir/SearchParameter/Location-address", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "operational-status", + "definition": "http://hl7.org/fhir/SearchParameter/Location-operational-status", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "organization", + "definition": "http://hl7.org/fhir/SearchParameter/Location-organization", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "characteristic", + "definition": "http://hl7.org/fhir/SearchParameter/Location-characteristic", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "type", + "definition": "http://hl7.org/fhir/SearchParameter/Location-type", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "partof", + "definition": "http://hl7.org/fhir/SearchParameter/Location-partof", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "contains", + "definition": "http://hl7.org/fhir/SearchParameter/Location-contains", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "near", + "definition": "http://hl7.org/fhir/SearchParameter/Location-near", + "type": "token" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "type": "Location", + "supportedProfile": [ + "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortRaum" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "identifier", + "definition": "http://hl7.org/fhir/SearchParameter/Location-identifier", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address", + "definition": "http://hl7.org/fhir/SearchParameter/Location-address", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "operational-status", + "definition": "http://hl7.org/fhir/SearchParameter/Location-operational-status", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "organization", + "definition": "http://hl7.org/fhir/SearchParameter/Location-organization", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "characteristic", + "definition": "http://hl7.org/fhir/SearchParameter/Location-characteristic", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "type", + "definition": "http://hl7.org/fhir/SearchParameter/Location-type", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "partof", + "definition": "http://hl7.org/fhir/SearchParameter/Location-partof", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "contains", + "definition": "http://hl7.org/fhir/SearchParameter/Location-contains", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "near", + "definition": "http://hl7.org/fhir/SearchParameter/Location-near", + "type": "token" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "type": "Location", + "supportedProfile": [ + "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortBettenstellplatz" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "identifier", + "definition": "http://hl7.org/fhir/SearchParameter/Location-identifier", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address", + "definition": "http://hl7.org/fhir/SearchParameter/Location-address", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "operational-status", + "definition": "http://hl7.org/fhir/SearchParameter/Location-operational-status", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "organization", + "definition": "http://hl7.org/fhir/SearchParameter/Location-organization", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "characteristic", + "definition": "http://hl7.org/fhir/SearchParameter/Location-characteristic", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "type", + "definition": "http://hl7.org/fhir/SearchParameter/Location-type", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "partof", + "definition": "http://hl7.org/fhir/SearchParameter/Location-partof", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "contains", + "definition": "http://hl7.org/fhir/SearchParameter/Location-contains", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "near", + "definition": "http://hl7.org/fhir/SearchParameter/Location-near", + "type": "token" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "type": "Organization", + "supportedProfile": [ + "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisation" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "identifier", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-identifier", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "active", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-active", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "type", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-type", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "name", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-name", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-address", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "partof", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-partof", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "endpoint", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-endpoint", + "type": "reference" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "type": "Organization", + "supportedProfile": [ + "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung" + ], + "interaction": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "code": "read" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "code": "search-type" + } + ], + "searchParam": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "_id", + "definition": "http://hl7.org/fhir/SearchParameter/Resource-id", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "identifier", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-identifier", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "active", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-active", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "type", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-type", + "type": "token" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "name", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-name", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "address", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-address", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "partof", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-partof", + "type": "reference" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "MAY" + } + ], + "name": "endpoint", + "definition": "http://hl7.org/fhir/SearchParameter/Organization-endpoint", + "type": "reference" + } + ] + }, { "extension": [ { diff --git a/Resources/fsh-generated/resources/Encounter-Fachabteilungskontakt.json b/Resources/fsh-generated/resources/Encounter-Fachabteilungskontakt.json index 2b5a7fb4..c6436f62 100644 --- a/Resources/fsh-generated/resources/Encounter-Fachabteilungskontakt.json +++ b/Resources/fsh-generated/resources/Encounter-Fachabteilungskontakt.json @@ -163,7 +163,7 @@ "system": "https://test.krankenhaus.de/fhir/sid/locationid", "value": "123" }, - "display": "Bett 123" + "display": "Bettenstellplatz 123" } } ], diff --git a/Resources/fsh-generated/resources/Location-BettenstellplatzStandortBeispiel.json b/Resources/fsh-generated/resources/Location-BettenstellplatzStandortBeispiel.json new file mode 100644 index 00000000..04c710fc --- /dev/null +++ b/Resources/fsh-generated/resources/Location-BettenstellplatzStandortBeispiel.json @@ -0,0 +1,24 @@ +{ + "resourceType": "Location", + "id": "BettenstellplatzStandortBeispiel", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortBettenstellplatz" + ] + }, + "physicalType": { + "coding": [ + { + "code": "bd", + "system": "http://terminology.hl7.org/CodeSystem/location-physical-type", + "display": "Bed" + } + ] + }, + "managingOrganization": { + "reference": "Organization/AbteilungAllgemeinchirurgieOrganisationBeispiel" + }, + "partOf": { + "reference": "Location/RaumStandortBeispiel" + } +} diff --git a/Resources/fsh-generated/resources/Location-RaumStandortBeispiel.json b/Resources/fsh-generated/resources/Location-RaumStandortBeispiel.json new file mode 100644 index 00000000..edf4adc2 --- /dev/null +++ b/Resources/fsh-generated/resources/Location-RaumStandortBeispiel.json @@ -0,0 +1,21 @@ +{ + "resourceType": "Location", + "id": "RaumStandortBeispiel", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort" + ] + }, + "physicalType": { + "coding": [ + { + "code": "ro", + "system": "http://terminology.hl7.org/CodeSystem/location-physical-type", + "display": "Room" + } + ] + }, + "managingOrganization": { + "reference": "Organization/AbteilungAllgemeinchirurgieOrganisationBeispiel" + } +} diff --git a/Resources/fsh-generated/resources/Organization-AbteilungAllgemeinchirurgieOrganisationBeispiel.json b/Resources/fsh-generated/resources/Organization-AbteilungAllgemeinchirurgieOrganisationBeispiel.json new file mode 100644 index 00000000..490de751 --- /dev/null +++ b/Resources/fsh-generated/resources/Organization-AbteilungAllgemeinchirurgieOrganisationBeispiel.json @@ -0,0 +1,38 @@ +{ + "resourceType": "Organization", + "id": "AbteilungAllgemeinchirurgieOrganisationBeispiel", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung" + ] + }, + "type": [ + { + "coding": [ + { + "code": "dept", + "system": "http://terminology.hl7.org/CodeSystem/organization-type" + } + ] + }, + { + "coding": [ + { + "code": "1500", + "system": "http://fhir.de/CodeSystem/dkgev/Fachabteilungsschluessel-erweitert", + "display": "Allgemeine Chirurgie" + } + ] + } + ], + "identifier": [ + { + "system": "https://fhir.krankenhaus.example/sid/OrgaID", + "value": "123456" + } + ], + "name": "Allgemeinchirurgie", + "partOf": { + "reference": "Organization/KrankenhausOrganisationBeispiel" + } +} diff --git a/Resources/fsh-generated/resources/Organization-KrankenhausOrganisationBeispiel.json b/Resources/fsh-generated/resources/Organization-KrankenhausOrganisationBeispiel.json new file mode 100644 index 00000000..8f92c6e6 --- /dev/null +++ b/Resources/fsh-generated/resources/Organization-KrankenhausOrganisationBeispiel.json @@ -0,0 +1,20 @@ +{ + "resourceType": "Organization", + "id": "KrankenhausOrganisationBeispiel", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisation" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "260120196" + }, + { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "345678975" + } + ], + "name": "Uniklinik Entenhausen" +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKKontaktGesundheitseinrichtung.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKKontaktGesundheitseinrichtung.json index 656d7166..84fd7b96 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKKontaktGesundheitseinrichtung.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKKontaktGesundheitseinrichtung.json @@ -614,32 +614,32 @@ "mustSupport": true }, { - "id": "Encounter.location:Bett", + "id": "Encounter.location:Bettenstellplatz", "path": "Encounter.location", - "sliceName": "Bett", + "sliceName": "Bettenstellplatz", "min": 0, "max": "1", "mustSupport": true }, { - "id": "Encounter.location:Bett.location", + "id": "Encounter.location:Bettenstellplatz.location", "path": "Encounter.location.location", "mustSupport": true }, { - "id": "Encounter.location:Bett.location.identifier", + "id": "Encounter.location:Bettenstellplatz.location.identifier", "path": "Encounter.location.location.identifier", "min": 1, "mustSupport": true }, { - "id": "Encounter.location:Bett.location.display", + "id": "Encounter.location:Bettenstellplatz.location.display", "path": "Encounter.location.location.display", "min": 1, "mustSupport": true }, { - "id": "Encounter.location:Bett.physicalType", + "id": "Encounter.location:Bettenstellplatz.physicalType", "path": "Encounter.location.physicalType", "comment": "Die Kodierung in diesem Slice entstammt folgendem Valueset - gelistet unter .location.(All slices.)physicalType: https://gematik.de/fhir/isik/ValueSet/ISiKLocationPhysicalType", "min": 1, diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKOrganisation.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKOrganisation.json new file mode 100644 index 00000000..dd83ad52 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKOrganisation.json @@ -0,0 +1,424 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKOrganisation", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisation", + "version": "4.0.0-rc", + "name": "ISiKOrganisation", + "status": "draft", + "experimental": false, + "date": "2024-01-16", + "publisher": "gematik GmbH", + "description": "Dieses Profil beschreibt die Nutzung von Organisationseinheiten innerhalb eines Krankenhauses oder eines Krankenhauses als ganzem in ISiK-Szenarien.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + }, + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "servd", + "uri": "http://www.omg.org/spec/ServD/1.0/", + "name": "ServD" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Organization", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Organization", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Organization.id", + "path": "Organization.id", + "mustSupport": true + }, + { + "id": "Organization.identifier", + "path": "Organization.identifier", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.identifier:IKNR", + "path": "Organization.identifier", + "sliceName": "IKNR", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-iknr" + ] + } + ], + "mustSupport": true + }, + { + "id": "Organization.identifier:IKNR.type", + "path": "Organization.identifier.type", + "comment": "Motivation: Entsprechend der Vorgabe der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization), muss ein System ein Institutionskennzeichen (IKNR) verarbeiten können, sofern diese Information verfügbar ist. " + }, + { + "id": "Organization.identifier:BSNR", + "path": "Organization.identifier", + "sliceName": "BSNR", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-bsnr" + ] + } + ], + "mustSupport": true + }, + { + "id": "Organization.identifier:BSNR.type", + "path": "Organization.identifier.type", + "comment": "Motivation: Entsprechend der Bedarfsmeldung im Rahmen der Stakeholderbefragung zu einem Profil Organisation in der Arbeitsgruppe zum ISIK Basismodul Stufe 4 und der Vorgabe der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization), muss ein System eine Betriebsstättennummer (BSNR) verarbeiten können, sofern diese Information verfügbar ist." + }, + { + "id": "Organization.identifier:OrganisationseinheitenID", + "path": "Organization.identifier", + "sliceName": "OrganisationseinheitenID", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Organization.identifier:OrganisationseinheitenID.system", + "path": "Organization.identifier.system", + "comment": "Motivation: Für IDs, die Krankhausintern spezifischen Organisationseinheiten wie Abteilungen oder Stationen vergeben werden, ist diese Identifier zu nutzen - analog zu Slice Abteilungsidentifikator in https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/mii_pr_struktur_abteilung. Da auch Stationen im Identifier-System inkludiert werden könnten, sollte hier das Identifier generisch Organisationseinheiten abbilden und nicht Abteilungen allein.", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.identifier:OrganisationseinheitenID.value", + "path": "Organization.identifier.value", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.active", + "path": "Organization.active", + "comment": "Motivation: Ein System muss prüfen können, ob eine Organisation aktiv ist oder nicht, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Organization.type", + "path": "Organization.type", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open", + "ordered": false + }, + "comment": "Motivation: Ein System muss den Typ einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist. \r\n Die Festlegung einer endlichen Menge von Organisations-Formen in verbindlicher weise, ist zum Zeitpunkt der Festlegung nicht möglich.", + "mustSupport": true + }, + { + "id": "Organization.type:organisationstyp", + "path": "Organization.type", + "sliceName": "organisationstyp", + "min": 0, + "max": "1", + "mustSupport": true, + "binding": { + "strength": "extensible", + "valueSet": "http://terminology.hl7.org/CodeSystem/organization-type" + } + }, + { + "id": "Organization.type:organisationstyp.coding.system", + "path": "Organization.type.coding.system", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.type:organisationstyp.coding.code", + "path": "Organization.type.coding.code", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.type:ErweiterterFachabteilungsschluessel", + "path": "Organization.type", + "sliceName": "ErweiterterFachabteilungsschluessel", + "min": 0, + "max": "1", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://fhir.de/CodeSystem/dkgev/Fachabteilungsschluessel-erweitert" + } + }, + { + "id": "Organization.type:ErweiterterFachabteilungsschluessel.coding.system", + "path": "Organization.type.coding.system", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.type:ErweiterterFachabteilungsschluessel.coding.code", + "path": "Organization.type.coding.code", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.name", + "path": "Organization.name", + "comment": "Motivation: Ein System muss den Namen einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist..", + "mustSupport": true + }, + { + "id": "Organization.alias", + "path": "Organization.alias", + "comment": "Hinweis: unter Umstaänden können hier Kürzel genutzt werden. Motivation: Ein System muss den Alias einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Organization.telecom", + "path": "Organization.telecom", + "comment": "Motivation: Ein System muss Kontaktinformation einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Organization.address", + "path": "Organization.address", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "comment": "In order to differentiate between post box addresses and physical addresses, street names and house numbers, and to add city district names, vendors can opt to support the extensions as suggested in the German Address Base Profile http://fhir.de/StructureDefinition/address-de-basis.\r\nSuch differentiations are however not required within the scope of this specification.", + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift", + "path": "Organization.address", + "sliceName": "Strassenanschrift", + "min": 0, + "max": "*", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "patternAddress": { + "type": "both" + }, + "constraint": [ + { + "key": "address-cnt-2or3-char", + "severity": "warning", + "human": "The content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.", + "expression": "country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))", + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisation" + } + ], + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.extension:Stadtteil", + "path": "Organization.address.extension", + "sliceName": "Stadtteil", + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.type", + "path": "Organization.address.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.line", + "path": "Organization.address.line", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.line.extension:Strasse", + "path": "Organization.address.line.extension", + "sliceName": "Strasse", + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.line.extension:Hausnummer", + "path": "Organization.address.line.extension", + "sliceName": "Hausnummer", + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.line.extension:Adresszusatz", + "path": "Organization.address.line.extension", + "sliceName": "Adresszusatz", + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.line.extension:Postfach", + "path": "Organization.address.line.extension", + "sliceName": "Postfach", + "max": "0" + }, + { + "id": "Organization.address:Strassenanschrift.city", + "path": "Organization.address.city", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.postalCode", + "path": "Organization.address.postalCode", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.country", + "path": "Organization.address.country", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Postfach", + "path": "Organization.address", + "sliceName": "Postfach", + "min": 0, + "max": "*", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "patternAddress": { + "type": "postal" + }, + "constraint": [ + { + "key": "address-cnt-2or3-char", + "severity": "warning", + "human": "The content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.", + "expression": "country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))", + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisation" + } + ], + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.extension:Stadtteil", + "path": "Organization.address.extension", + "sliceName": "Stadtteil", + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.type", + "path": "Organization.address.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.line", + "path": "Organization.address.line", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.line.extension:Strasse", + "path": "Organization.address.line.extension", + "sliceName": "Strasse", + "max": "0" + }, + { + "id": "Organization.address:Postfach.line.extension:Hausnummer", + "path": "Organization.address.line.extension", + "sliceName": "Hausnummer", + "max": "0" + }, + { + "id": "Organization.address:Postfach.line.extension:Adresszusatz", + "path": "Organization.address.line.extension", + "sliceName": "Adresszusatz", + "max": "0" + }, + { + "id": "Organization.address:Postfach.line.extension:Postfach", + "path": "Organization.address.line.extension", + "sliceName": "Postfach", + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.city", + "path": "Organization.address.city", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.postalCode", + "path": "Organization.address.postalCode", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.country", + "path": "Organization.address.country", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.partOf", + "path": "Organization.partOf", + "comment": "Motivation: System muss die Hierarchie einer Organisationseinheit innherhalb einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Organization.contact", + "path": "Organization.contact", + "comment": "Motivation: Ein System muss Kontaktinformation einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Organization.endpoint", + "path": "Organization.endpoint", + "comment": "Motivation: Ein System muss den technischen Endpunt einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKOrganisationFachabteilung.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKOrganisationFachabteilung.json new file mode 100644 index 00000000..f0145715 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKOrganisationFachabteilung.json @@ -0,0 +1,430 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKOrganisationFachabteilung", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung", + "version": "4.0.0-rc", + "name": "ISiKOrganisationFachabteilung", + "status": "draft", + "experimental": false, + "date": "2024-01-16", + "publisher": "gematik GmbH", + "description": "Dieses Profil beschreibt die Organisationseinheit Fachabteilung innerhalb eines Krankenhauses.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "v2", + "uri": "http://hl7.org/v2", + "name": "HL7 v2 Mapping" + }, + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "servd", + "uri": "http://www.omg.org/spec/ServD/1.0/", + "name": "ServD" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Organization", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Organization", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Organization.id", + "path": "Organization.id", + "mustSupport": true + }, + { + "id": "Organization.identifier", + "path": "Organization.identifier", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.identifier:IKNR", + "path": "Organization.identifier", + "sliceName": "IKNR", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-iknr" + ] + } + ], + "mustSupport": true + }, + { + "id": "Organization.identifier:IKNR.type", + "path": "Organization.identifier.type", + "comment": "Motivation: Entsprechend der Profil-Festlegung der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization), muss ein System ein Institutionskennzeichen (IKNR) verarbeiten können, sofern diese Information verfügbar ist. " + }, + { + "id": "Organization.identifier:BSNR", + "path": "Organization.identifier", + "sliceName": "BSNR", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-bsnr" + ] + } + ], + "mustSupport": true + }, + { + "id": "Organization.identifier:BSNR.type", + "path": "Organization.identifier.type", + "comment": "Motivation: Entsprechend der Profilierung im Rahmen der Stakeholderbefragung zu einem Profil Organisation in der Arbeitsgruppe zum ISIK Basismodul Stufe 4 und der Vorgabe der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization), muss ein System eine Betriebsstättennummer (BSNR) verarbeiten können, sofern diese Information verfügbar ist." + }, + { + "id": "Organization.identifier:TelematikID", + "path": "Organization.identifier", + "sliceName": "TelematikID", + "comment": "Motivation: Entsprechend der Profil-Festlegung der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization) und der VZD-FHIR-Directory Organisation-Ressource in der Version 0.10.2 (https://gematik.de/fhir/directory/StructureDefinition/OrganizationDirectory), muss ein System ein Institutionskennzeichen (IKNR) verarbeiten können, sofern diese Information verfügbar ist.", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-telematik-id" + ] + } + ], + "mustSupport": true + }, + { + "id": "Organization.identifier:Abteilungsidentifikator", + "path": "Organization.identifier", + "sliceName": "Abteilungsidentifikator", + "min": 1, + "max": "1", + "mustSupport": true + }, + { + "id": "Organization.identifier:Abteilungsidentifikator.system", + "path": "Organization.identifier.system", + "comment": "Motivation: Für IDs, die Krankhausintern spezifischen Fachabteilungen vergeben werden, ist diese Identifier zu nutzen - analog zu Slice Abteilungsidentifikator in https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/mii_pr_struktur_abteilung.", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.active", + "path": "Organization.active", + "comment": "Motivation: Ein System muss prüfen können, ob eine Fachabteilung als Organisation aktiv ist oder nicht, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Organization.type", + "path": "Organization.type", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open", + "ordered": false + }, + "comment": "Motivation: Ein System muss den Typ einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist. \r\n Die Festlegung einer endlichen Menge von Organisations-Formen in verbindlicher weise, ist zum Zeitpunkt der Festlegung nicht möglich.", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.type:organisationstyp", + "path": "Organization.type", + "sliceName": "organisationstyp", + "min": 1, + "max": "1", + "mustSupport": true + }, + { + "id": "Organization.type:organisationstyp.coding", + "path": "Organization.type.coding", + "comment": "Motivation: Eine Fachabteilung muss als solche hinsichtlich des Typs kodiert werden.", + "patternCoding": { + "code": "dept", + "system": "http://terminology.hl7.org/CodeSystem/organization-type" + } + }, + { + "id": "Organization.type:ErweiterterFachabteilungsschluessel", + "path": "Organization.type", + "sliceName": "ErweiterterFachabteilungsschluessel", + "comment": "Motivation: Das ValueSet muss bindend sein, damit Systemübergreifend der Fachabteilungstyp einheitlich kodiert werden kann.", + "min": 0, + "max": "1", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://fhir.de/CodeSystem/dkgev/Fachabteilungsschluessel-erweitert" + } + }, + { + "id": "Organization.type:ErweiterterFachabteilungsschluessel.coding.system", + "path": "Organization.type.coding.system", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.type:ErweiterterFachabteilungsschluessel.coding.code", + "path": "Organization.type.coding.code", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.name", + "path": "Organization.name", + "comment": "Motivation: Einer Organisation oder Organisationseinheit muss ein Name zugewiesen werden.", + "mustSupport": true + }, + { + "id": "Organization.alias", + "path": "Organization.alias", + "comment": "Hinweis: unter Umstaänden können hier Kürzel genutzt werden. Motivation: Ein System muss den Alias einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Organization.telecom", + "path": "Organization.telecom", + "comment": "Motivation: Ein System muss Kontaktinformation einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Organization.address", + "path": "Organization.address", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "comment": "In order to differentiate between post box addresses and physical addresses, street names and house numbers, and to add city district names, vendors can opt to support the extensions as suggested in the German Address Base Profile http://fhir.de/StructureDefinition/address-de-basis.\r\nSuch differentiations are however not required within the scope of this specification.", + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift", + "path": "Organization.address", + "sliceName": "Strassenanschrift", + "min": 0, + "max": "*", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "patternAddress": { + "type": "both" + }, + "constraint": [ + { + "key": "address-cnt-2or3-char", + "severity": "warning", + "human": "The content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.", + "expression": "country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))", + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung" + } + ], + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.extension:Stadtteil", + "path": "Organization.address.extension", + "sliceName": "Stadtteil", + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.type", + "path": "Organization.address.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.line", + "path": "Organization.address.line", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.line.extension:Strasse", + "path": "Organization.address.line.extension", + "sliceName": "Strasse", + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.line.extension:Hausnummer", + "path": "Organization.address.line.extension", + "sliceName": "Hausnummer", + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.line.extension:Adresszusatz", + "path": "Organization.address.line.extension", + "sliceName": "Adresszusatz", + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.line.extension:Postfach", + "path": "Organization.address.line.extension", + "sliceName": "Postfach", + "max": "0" + }, + { + "id": "Organization.address:Strassenanschrift.city", + "path": "Organization.address.city", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.postalCode", + "path": "Organization.address.postalCode", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Strassenanschrift.country", + "path": "Organization.address.country", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Postfach", + "path": "Organization.address", + "sliceName": "Postfach", + "min": 0, + "max": "*", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "patternAddress": { + "type": "postal" + }, + "constraint": [ + { + "key": "address-cnt-2or3-char", + "severity": "warning", + "human": "The content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.", + "expression": "country.empty() or (country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-2') or country.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3'))", + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung" + } + ], + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.extension:Stadtteil", + "path": "Organization.address.extension", + "sliceName": "Stadtteil", + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.type", + "path": "Organization.address.type", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.line", + "path": "Organization.address.line", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.line.extension:Strasse", + "path": "Organization.address.line.extension", + "sliceName": "Strasse", + "max": "0" + }, + { + "id": "Organization.address:Postfach.line.extension:Hausnummer", + "path": "Organization.address.line.extension", + "sliceName": "Hausnummer", + "max": "0" + }, + { + "id": "Organization.address:Postfach.line.extension:Adresszusatz", + "path": "Organization.address.line.extension", + "sliceName": "Adresszusatz", + "max": "0" + }, + { + "id": "Organization.address:Postfach.line.extension:Postfach", + "path": "Organization.address.line.extension", + "sliceName": "Postfach", + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.city", + "path": "Organization.address.city", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.postalCode", + "path": "Organization.address.postalCode", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.address:Postfach.country", + "path": "Organization.address.country", + "min": 1, + "mustSupport": true + }, + { + "id": "Organization.partOf", + "path": "Organization.partOf", + "comment": "Motivation: System muss die Hierarchie einer Organisationseinheit innherhalb einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Organization.contact", + "path": "Organization.contact", + "comment": "Motivation: Ein System muss Kontaktinformation einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Organization.endpoint", + "path": "Organization.endpoint", + "comment": "Motivation: Ein System muss den technischen Endpunkt einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKStandort.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKStandort.json new file mode 100644 index 00000000..9e1bd911 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKStandort.json @@ -0,0 +1,133 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKStandort", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort", + "version": "4.0.0-rc", + "name": "ISiKStandort", + "status": "draft", + "experimental": false, + "date": "2024-01-16", + "publisher": "gematik GmbH", + "description": "Dieses Profil dient der strukturierten Erfassung von Standortangaben eines Krankenhauses oder von Organisationseinheiten innerhalb eines Krankenhauses in ISiK-Szenarien.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Location", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Location", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Location.identifier", + "path": "Location.identifier", + "slicing": { + "discriminator": [ + { + "type": "pattern", + "path": "$this" + } + ], + "rules": "open" + }, + "mustSupport": true + }, + { + "id": "Location.identifier:standortnummer-dkg", + "path": "Location.identifier", + "sliceName": "standortnummer-dkg", + "comment": "Motivation : Entsprechend der Festlegung der DKG laut Basisprofile-DE 1.5.0 (https://simplifier.net/packages/de.basisprofil.r4/) ", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://fhir.de/StructureDefinition/identifier-standortnummer" + ] + } + ], + "mustSupport": true + }, + { + "id": "Location.name", + "path": "Location.name", + "mustSupport": true + }, + { + "id": "Location.mode", + "path": "Location.mode", + "patternCodeableConcept": { + "coding": [ + { + "code": "instance", + "system": "http://hl7.org/fhir/location-mode" + } + ] + }, + "mustSupport": true + }, + { + "id": "Location.type", + "path": "Location.type", + "comment": "Motivation: Ein System muss den Typ eines Standorts zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Location.address", + "path": "Location.address", + "type": [ + { + "code": "Address", + "profile": [ + "http://fhir.de/StructureDefinition/address-de-basis" + ] + } + ], + "mustSupport": true + }, + { + "id": "Location.physicalType", + "path": "Location.physicalType", + "comment": "test", + "min": 1, + "mustSupport": true + }, + { + "id": "Location.position", + "path": "Location.position", + "comment": "Motivation: Ein System muss die Geodaten eines Standorts zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Location.managingOrganization", + "path": "Location.managingOrganization", + "min": 1, + "mustSupport": true + }, + { + "id": "Location.partOf", + "path": "Location.partOf", + "comment": "Motivation: Ein System muss die organisationale Zugehörigkeit eines Standorts zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + }, + { + "id": "Location.hoursOfOperation", + "path": "Location.hoursOfOperation", + "comment": "Motivation: Ein System muss die Betriebszeiten eines Standorts zum Abruf bereitstellen, sofern diese Information verfügbar ist.", + "mustSupport": true + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKStandortBettenstellplatz.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKStandortBettenstellplatz.json new file mode 100644 index 00000000..60a80c44 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKStandortBettenstellplatz.json @@ -0,0 +1,53 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKStandortBettenstellplatz", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortBettenstellplatz", + "name": "ISiKStandortBettenstellplatz", + "status": "draft", + "description": "Dieses Profil dient der strukturierten Erfassung von Bettenstellplätzen (als Standorten) eines Krankenhauses", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Location", + "baseDefinition": "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Location.operationalStatus", + "path": "Location.operationalStatus", + "comment": "Motivation: Entsprechend der Bedarfsmeldung im Rahmen der AG zur Ausbaustufe 4 muss ein System den Belegungsstatus eines Bettenstellplatz zum Abruf bereitstellen, sofern diese Information verfügbar ist. Dies dient z.B. der Markierung als 'Isoliert'. Im Sinne der Interoperabilität ist das ValueSet verpflichtend.", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://terminology.hl7.org/CodeSystem/v2-0116" + } + }, + { + "id": "Location.physicalType", + "path": "Location.physicalType", + "patternCodeableConcept": { + "coding": [ + { + "code": "bd", + "system": "http://terminology.hl7.org/CodeSystem/location-physical-type", + "display": "Bed" + } + ] + } + } + ] + } +} diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKStandortRaum.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKStandortRaum.json new file mode 100644 index 00000000..f3b93b64 --- /dev/null +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKStandortRaum.json @@ -0,0 +1,53 @@ +{ + "resourceType": "StructureDefinition", + "id": "ISiKStandortRaum", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortRaum", + "name": "ISiKStandortRaum", + "status": "draft", + "description": "Dieses Profil dient der strukturierten Erfassung von Räumen (als Standorten) eines Krankenhauses.", + "fhirVersion": "4.0.1", + "mapping": [ + { + "identity": "rim", + "uri": "http://hl7.org/v3", + "name": "RIM Mapping" + }, + { + "identity": "w5", + "uri": "http://hl7.org/fhir/fivews", + "name": "FiveWs Pattern Mapping" + } + ], + "kind": "resource", + "abstract": false, + "type": "Location", + "baseDefinition": "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Location.operationalStatus", + "path": "Location.operationalStatus", + "comment": "Motivation: Entsprechend der Bedarfsmeldung im Rahmen der AG zur Ausbaustufe 4 muss ein System den Belegungsstatus eines Raums zum Abruf bereitstellen, sofern diese Information verfügbar ist. Dies dient z.B. der Markierung als 'Isoliert'.", + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://terminology.hl7.org/CodeSystem/v2-0116" + } + }, + { + "id": "Location.physicalType", + "path": "Location.physicalType", + "patternCodeableConcept": { + "coding": [ + { + "code": "ro", + "system": "http://terminology.hl7.org/CodeSystem/location-physical-type", + "display": "Room" + } + ] + } + } + ] + } +} diff --git a/Resources/input/fsh/ISiKCapabilityStatementBasisServer.fsh b/Resources/input/fsh/ISiKCapabilityStatementBasisServer.fsh index 9ccf7343..4f71b1e1 100644 --- a/Resources/input/fsh/ISiKCapabilityStatementBasisServer.fsh +++ b/Resources/input/fsh/ISiKCapabilityStatementBasisServer.fsh @@ -769,6 +769,299 @@ Usage: #definition * rest.resource[=].searchInclude[+] = "Observation:subject" * extension.url = $capabilitystatement-expectation * extension.valueCode = #SHALL + +// Standort (Location) +* rest.resource[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].extension.valueCode = #MAY +* rest.resource[=].type = #Location +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort" +* rest.resource[=].interaction[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].interaction[=].extension.valueCode = #MAY +* rest.resource[=].interaction[=].code = #read +* rest.resource[=].interaction[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].interaction[=].extension.valueCode = #MAY +* rest.resource[=].interaction[=].code = #search-type +* rest.resource[=].searchParam[0].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "_id" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Resource-id" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "identifier" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-identifier" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "address" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-address" +* rest.resource[=].searchParam[=].type = #string +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "operational-status" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-operational-status" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "organization" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-organization" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "characteristic" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-characteristic" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "type" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-type" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "partof" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-partof" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "contains" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-contains" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "near" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-near" +* rest.resource[=].searchParam[=].type = #token + +// ISiKStandortRaum (Location) +* rest.resource[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].extension.valueCode = #MAY +* rest.resource[=].type = #Location +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortRaum" +* rest.resource[=].interaction[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].interaction[=].extension.valueCode = #MAY +* rest.resource[=].interaction[=].code = #read +* rest.resource[=].interaction[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].interaction[=].extension.valueCode = #MAY +* rest.resource[=].interaction[=].code = #search-type +* rest.resource[=].searchParam[0].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "_id" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Resource-id" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "identifier" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-identifier" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "address" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-address" +* rest.resource[=].searchParam[=].type = #string +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "operational-status" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-operational-status" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "organization" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-organization" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "characteristic" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-characteristic" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "type" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-type" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "partof" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-partof" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "contains" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-contains" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "near" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-near" +* rest.resource[=].searchParam[=].type = #token + +// ISiKStandortBettenstellplatz (Location) +* rest.resource[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].extension.valueCode = #MAY +* rest.resource[=].type = #Location +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKStandortBettenstellplatz" +* rest.resource[=].interaction[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].interaction[=].extension.valueCode = #MAY +* rest.resource[=].interaction[=].code = #read +* rest.resource[=].interaction[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].interaction[=].extension.valueCode = #MAY +* rest.resource[=].interaction[=].code = #search-type +* rest.resource[=].searchParam[0].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "_id" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Resource-id" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "identifier" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-identifier" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "address" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-address" +* rest.resource[=].searchParam[=].type = #string +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "operational-status" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-operational-status" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "organization" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-organization" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "characteristic" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-characteristic" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "type" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-type" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "partof" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-partof" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "contains" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-contains" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "near" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Location-near" +* rest.resource[=].searchParam[=].type = #token + +//Organisation +* rest.resource[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].extension.valueCode = #MAY +* rest.resource[=].type = #Organization +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisation" +* rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation +* rest.resource[=].interaction[=].extension.valueCode = #MAY +* rest.resource[=].interaction[=].code = #read +* rest.resource[=].interaction[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].interaction[=].extension.valueCode = #MAY +* rest.resource[=].interaction[=].code = #search-type +* rest.resource[=].searchParam[0].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "_id" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Resource-id" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "identifier" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-identifier" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "active" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-active" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "type" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-type" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "name" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-name" +* rest.resource[=].searchParam[=].type = #string +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "address" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-address" +* rest.resource[=].searchParam[=].type = #string +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "partof" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-partof" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "endpoint" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-endpoint" +* rest.resource[=].searchParam[=].type = #reference + +//OrganisationFachabteilung +* rest.resource[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].extension.valueCode = #MAY +* rest.resource[=].type = #Organization +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung" +* rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation +* rest.resource[=].interaction[=].extension.valueCode = #MAY +* rest.resource[=].interaction[=].code = #read +* rest.resource[=].interaction[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].interaction[=].extension.valueCode = #MAY +* rest.resource[=].interaction[=].code = #search-type +* rest.resource[=].searchParam[0].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "_id" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Resource-id" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "identifier" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-identifier" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "active" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-active" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "type" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-type" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "name" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-name" +* rest.resource[=].searchParam[=].type = #string +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "address" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-address" +* rest.resource[=].searchParam[=].type = #string +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "partof" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-partof" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation +* rest.resource[=].searchParam[=].extension.valueCode = #MAY +* rest.resource[=].searchParam[=].name = "endpoint" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Organization-endpoint" +* rest.resource[=].searchParam[=].type = #reference + + + * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #MAY * rest.resource[=].type = #Composition diff --git a/Resources/input/fsh/ISiKKontaktGesundheitseinrichtung.fsh b/Resources/input/fsh/ISiKKontaktGesundheitseinrichtung.fsh index 677c38a4..5598a42d 100644 --- a/Resources/input/fsh/ISiKKontaktGesundheitseinrichtung.fsh +++ b/Resources/input/fsh/ISiKKontaktGesundheitseinrichtung.fsh @@ -93,7 +93,7 @@ Description: "Dieses Profil ermöglicht die Herstellung eines Fallbezuges welche * location ^slicing.discriminator.type = #pattern * location ^slicing.discriminator.path = "physicalType" * location ^slicing.rules = #open -* location contains Zimmer 0..1 MS and Bett 0..1 MS and Station 0..1 MS +* location contains Zimmer 0..1 MS and Bettenstellplatz 0..1 MS and Station 0..1 MS * location[Station] * location 1.. MS * identifier 1.. MS @@ -108,7 +108,7 @@ Description: "Dieses Profil ermöglicht die Herstellung eines Fallbezuges welche * physicalType 1..1 MS * physicalType = http://terminology.hl7.org/CodeSystem/location-physical-type#ro * ^comment = "Die Kodierung in diesem Slice entstammt folgendem Valueset - gelistet unter .location.(All slices.)physicalType: https://gematik.de/fhir/isik/ValueSet/ISiKLocationPhysicalType" -* location[Bett] +* location[Bettenstellplatz] * location 1.. MS * identifier 1.. MS * display 1.. MS @@ -167,7 +167,7 @@ Usage: #example * location.physicalType = $LocationPhysicalType#bd "Bed" * location.location.identifier.system = "https://test.krankenhaus.de/fhir/sid/locationid" * location.location.identifier.value = "123" -* location.location.display = "Bett 123" +* location.location.display = "Bettenstellplatz 123" * serviceProvider.identifier.system = "https://test.krankenhaus.de/fhir/sid/fachabteilungsid" * serviceProvider.identifier.value = "XYZ" * serviceProvider.display = "Fachabteilung XYZ" diff --git a/Resources/input/fsh/ISiKOrganisation.fsh b/Resources/input/fsh/ISiKOrganisation.fsh new file mode 100644 index 00000000..6e496584 --- /dev/null +++ b/Resources/input/fsh/ISiKOrganisation.fsh @@ -0,0 +1,224 @@ +Profile: ISiKOrganisationFachabteilung +Parent: Organization +Id: ISiKOrganisationFachabteilung +Description: "Dieses Profil beschreibt die Organisationseinheit Fachabteilung innerhalb eines Krankenhauses." +* insert Meta +* id MS +* identifier 1..* MS + * ^slicing.discriminator.type = #pattern + * ^slicing.discriminator.path = "$this" + * ^slicing.rules = #open +* identifier contains + IKNR 0..1 MS and //Die Kardinalitätsfestlegung entspricht der Profil-Festlegung der VZD-FHIR-Directory Organisation-Ressource in der Version 0.10.2 + BSNR 0..1 MS and //Die Kardinalitätsfestlegung entspricht der Profil-Festlegung der VZD-FHIR-Directory Organisation-Ressource in der Version 0.10.2 + TelematikID 0..1 MS and + Abteilungsidentifikator 1..1 MS +/* TODO: zu prüfen, ob sinnvoll zur Abdeckung gennanter UCs in ISiK + KIMAdresse 0..1 MS and + TIMAdresse 0..1 MS and +*/ +* identifier[IKNR] only $identifier-iknr +* identifier[IKNR].type 0..1 + * ^comment = "Motivation: Entsprechend der Profil-Festlegung der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization), muss ein System ein Institutionskennzeichen (IKNR) verarbeiten können, sofern diese Information verfügbar ist. " +* identifier[BSNR] only $identifier-bsnr +* identifier[BSNR].type 0..1 + * ^comment = "Motivation: Entsprechend der Profilierung im Rahmen der Stakeholderbefragung zu einem Profil Organisation in der Arbeitsgruppe zum ISIK Basismodul Stufe 4 und der Vorgabe der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization), muss ein System eine Betriebsstättennummer (BSNR) verarbeiten können, sofern diese Information verfügbar ist." +* identifier[TelematikID] only $identifer-TelematikID + * ^comment = "Motivation: Entsprechend der Profil-Festlegung der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization) und der VZD-FHIR-Directory Organisation-Ressource in der Version 0.10.2 (https://gematik.de/fhir/directory/StructureDefinition/OrganizationDirectory), muss ein System ein Institutionskennzeichen (IKNR) verarbeiten können, sofern diese Information verfügbar ist." +* identifier[Abteilungsidentifikator].system 1.. MS + * ^comment = "Motivation: Für IDs, die Krankhausintern spezifischen Fachabteilungen vergeben werden, ist diese Identifier zu nutzen - analog zu Slice Abteilungsidentifikator in https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/mii_pr_struktur_abteilung." +/* TODO s.o. +* identifier[KIMAdresse] only $GEM_PR_KIM_AdressIdentifier +* identifier[KIMAdresse].type 0..1 +* identifier[KIMAdresse].type = https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType#kim-2.0 (exactly) +* identifier[TIMAdresse] only $GEM_PR_TIM_AdressIdentifier +* identifier[TIMAdresse].type 0..1 +* identifier[TIMAdresse].type = https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType#tim +*/ +* active MS + * ^comment = "Motivation: Ein System muss prüfen können, ob eine Fachabteilung als Organisation aktiv ist oder nicht, sofern diese Information verfügbar ist." +* type MS + * ^comment = "Motivation: Ein System muss den Typ einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist. + Die Festlegung einer endlichen Menge von Organisations-Formen in verbindlicher weise, ist zum Zeitpunkt der Festlegung nicht möglich." +* type ^slicing.discriminator.type = #pattern +* type ^slicing.discriminator.path = "$this" +* type ^slicing.rules = #open +* type ^slicing.ordered = false +* type contains + organisationstyp 1..1 MS and + ErweiterterFachabteilungsschluessel 0..1 MS +* type[organisationstyp].coding = $organization_type#dept + * ^comment = "Motivation: Eine Fachabteilung muss als solche hinsichtlich des Typs kodiert werden." +* type[ErweiterterFachabteilungsschluessel] from $FachabteilungsschluesselErweitertCS (required) + * ^comment = "Motivation: Das ValueSet muss bindend sein, damit Systemübergreifend der Fachabteilungstyp einheitlich kodiert werden kann." +* type[ErweiterterFachabteilungsschluessel].coding.system 1.. MS +* type[ErweiterterFachabteilungsschluessel].coding.code 1.. MS +* name MS + * ^comment = "Motivation: Einer Organisation oder Organisationseinheit muss ein Name zugewiesen werden." +* alias MS + * ^comment = "Hinweis: unter Umstaänden können hier Kürzel genutzt werden. Motivation: Ein System muss den Alias einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist." +* telecom MS + * ^comment = "Motivation: Ein System muss Kontaktinformation einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist." +* address MS + * ^slicing.discriminator.type = #pattern + * ^slicing.discriminator.path = "$this" + * ^slicing.rules = #open + * ^comment = "In order to differentiate between post box addresses and physical addresses, street names and house numbers, and to add city district names, vendors can opt to support the extensions as suggested in the German Address Base Profile http://fhir.de/StructureDefinition/address-de-basis.\r\nSuch differentiations are however not required within the scope of this specification." +* address contains + Strassenanschrift 0..* MS and + Postfach 0..* MS +* address[Postfach] only AddressDeBasis + * obeys address-cnt-2or3-char + * extension[Stadtteil] MS + * ^patternAddress.type = #postal + * type 1.. MS + * line 1.. MS + * extension[Strasse] 0..0 + * extension[Hausnummer] 0..0 + * extension[Adresszusatz] 0..0 + * extension[Postfach] 0..1 MS + * city 1.. MS + * postalCode 1.. MS + * country 1.. MS +* address[Strassenanschrift] only AddressDeBasis + * obeys address-cnt-2or3-char + * extension[Stadtteil] MS + * ^patternAddress.type = #both + * type 1.. MS + * line 1.. MS + * extension[Strasse] 0..1 MS + * extension[Hausnummer] 0..1 MS + * extension[Adresszusatz] 0..1 MS + * extension[Postfach] 0..0 + * city 1.. MS + * postalCode 1.. MS + * country 1.. MS +* partOf MS + * ^comment = "Motivation: System muss die Hierarchie einer Organisationseinheit innherhalb einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist." +* contact MS + * ^comment = "Motivation: Ein System muss Kontaktinformation einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist." +* endpoint MS + * ^comment = "Motivation: Ein System muss den technischen Endpunkt einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist." + + + +Profile: ISiKOrganisation +Parent: Organization +Id: ISiKOrganisation +Description: "Dieses Profil beschreibt die Nutzung von Organisationseinheiten innerhalb eines Krankenhauses oder eines Krankenhauses als ganzem in ISiK-Szenarien." +* insert Meta +* id MS +* identifier 1..* MS + * ^slicing.discriminator.type = #pattern + * ^slicing.discriminator.path = "$this" + * ^slicing.rules = #open +* identifier contains + IKNR 0..1 MS and + BSNR 0..1 MS and + OrganisationseinheitenID 0..1 MS +/* + KIMAdresse 0..1 MS and + TIMAdresse 0..1 MS and +*/ +* identifier[IKNR] only $identifier-iknr +* identifier[IKNR].type 0..1 + * ^comment = "Motivation: Entsprechend der Vorgabe der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization), muss ein System ein Institutionskennzeichen (IKNR) verarbeiten können, sofern diese Information verfügbar ist. " +* identifier[BSNR] only $identifier-bsnr +* identifier[BSNR].type 0..1 + * ^comment = "Motivation: Entsprechend der Bedarfsmeldung im Rahmen der Stakeholderbefragung zu einem Profil Organisation in der Arbeitsgruppe zum ISIK Basismodul Stufe 4 und der Vorgabe der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization), muss ein System eine Betriebsstättennummer (BSNR) verarbeiten können, sofern diese Information verfügbar ist." +* identifier[OrganisationseinheitenID].system 1.. MS + * ^comment = "Motivation: Für IDs, die Krankhausintern spezifischen Organisationseinheiten wie Abteilungen oder Stationen vergeben werden, ist diese Identifier zu nutzen - analog zu Slice Abteilungsidentifikator in https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/mii_pr_struktur_abteilung. Da auch Stationen im Identifier-System inkludiert werden könnten, sollte hier das Identifier generisch Organisationseinheiten abbilden und nicht Abteilungen allein." +* identifier[OrganisationseinheitenID].value 1.. MS +/* +* identifier[KIMAdresse] only $GEM_PR_KIM_AdressIdentifier +* identifier[KIMAdresse].type 0..1 +* identifier[KIMAdresse].type = https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType#kim-2.0 (exactly) +* identifier[TIMAdresse] only $GEM_PR_TIM_AdressIdentifier +* identifier[TIMAdresse].type 0..1 +* identifier[TIMAdresse].type = https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType#tim +*/ +* active MS + * ^comment = "Motivation: Ein System muss prüfen können, ob eine Organisation aktiv ist oder nicht, sofern diese Information verfügbar ist." +* type MS + * ^comment = "Motivation: Ein System muss den Typ einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist. + Die Festlegung einer endlichen Menge von Organisations-Formen in verbindlicher weise, ist zum Zeitpunkt der Festlegung nicht möglich." +* type ^slicing.discriminator.type = #pattern +* type ^slicing.discriminator.path = "$this" +* type ^slicing.rules = #open +* type ^slicing.ordered = false +* type contains + organisationstyp 0..1 MS and + ErweiterterFachabteilungsschluessel 0..1 MS +* type[organisationstyp] from $organization_type (extensible) +* type[organisationstyp].coding.system 1.. MS +* type[organisationstyp].coding.code 1.. MS +* type[ErweiterterFachabteilungsschluessel] from $FachabteilungsschluesselErweitertCS (required) +* type[ErweiterterFachabteilungsschluessel].coding.system 1.. MS +* type[ErweiterterFachabteilungsschluessel].coding.code 1.. MS +* name MS + * ^comment = "Motivation: Ein System muss den Namen einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist.." +* alias MS + * ^comment = "Hinweis: unter Umstaänden können hier Kürzel genutzt werden. Motivation: Ein System muss den Alias einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist." +* telecom MS + * ^comment = "Motivation: Ein System muss Kontaktinformation einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist." +* address MS + * ^slicing.discriminator.type = #pattern + * ^slicing.discriminator.path = "$this" + * ^slicing.rules = #open + * ^comment = "In order to differentiate between post box addresses and physical addresses, street names and house numbers, and to add city district names, vendors can opt to support the extensions as suggested in the German Address Base Profile http://fhir.de/StructureDefinition/address-de-basis.\r\nSuch differentiations are however not required within the scope of this specification." +* address contains + Strassenanschrift 0..* MS and + Postfach 0..* MS +* address[Postfach] only AddressDeBasis + * obeys address-cnt-2or3-char + * extension[Stadtteil] MS + * ^patternAddress.type = #postal + * type 1.. MS + * line 1.. MS + * extension[Strasse] 0..0 + * extension[Hausnummer] 0..0 + * extension[Adresszusatz] 0..0 + * extension[Postfach] 0..1 MS + * city 1.. MS + * postalCode 1.. MS + * country 1.. MS +* address[Strassenanschrift] only AddressDeBasis + * obeys address-cnt-2or3-char + * extension[Stadtteil] MS + * ^patternAddress.type = #both + * type 1.. MS + * line 1.. MS + * extension[Strasse] 0..1 MS + * extension[Hausnummer] 0..1 MS + * extension[Adresszusatz] 0..1 MS + * extension[Postfach] 0..0 + * city 1.. MS + * postalCode 1.. MS + * country 1.. MS +* partOf MS + * ^comment = "Motivation: System muss die Hierarchie einer Organisationseinheit innherhalb einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist." +* contact MS + * ^comment = "Motivation: Ein System muss Kontaktinformation einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist." +* endpoint MS + * ^comment = "Motivation: Ein System muss den technischen Endpunt einer Organisation zum Abruf bereitstellen, sofern diese Information verfügbar ist." + + +Instance: KrankenhausOrganisationBeispiel +InstanceOf: ISiKOrganisation +Usage: #example +* identifier[IKNR] +* identifier[IKNR].value = $identifier-iknr#260120196 +* identifier[BSNR] +* identifier[BSNR].value = $identifier-iknr#345678975 +* name = "Uniklinik Entenhausen" + + +Instance: AbteilungAllgemeinchirurgieOrganisationBeispiel +InstanceOf: ISiKOrganisationFachabteilung +Usage: #example +* identifier[Abteilungsidentifikator].system = "https://fhir.krankenhaus.example/sid/OrgaID" +* identifier[Abteilungsidentifikator].value = "123456" +* name = "Allgemeinchirurgie" +* type[organisationstyp].coding = $organization_type#dept +* type[ErweiterterFachabteilungsschluessel] = $FachabteilungsschluesselErweitertCS#1500 "Allgemeine Chirurgie" +* partOf = Reference(KrankenhausOrganisationBeispiel) \ No newline at end of file diff --git a/Resources/input/fsh/ISiKStandort.fsh b/Resources/input/fsh/ISiKStandort.fsh new file mode 100644 index 00000000..c1d0693f --- /dev/null +++ b/Resources/input/fsh/ISiKStandort.fsh @@ -0,0 +1,63 @@ +Profile: ISiKStandort +Parent: Location +Id: ISiKStandort +Description: "Dieses Profil dient der strukturierten Erfassung von Standortangaben eines Krankenhauses oder von Organisationseinheiten innerhalb eines Krankenhauses in ISiK-Szenarien." +* insert Meta +* identifier MS //Motivation: entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location + * ^slicing.discriminator.type = #pattern + * ^slicing.discriminator.path = "$this" + * ^slicing.rules = #open +* identifier contains + standortnummer-dkg 0..1 MS +* identifier[standortnummer-dkg] only $identifier-standortnummer-dkg + * ^comment = "Motivation : Entsprechend der Festlegung der DKG laut Basisprofile-DE 1.5.0 (https://simplifier.net/packages/de.basisprofil.r4/) " +* name MS //Motivation: Kein Name zwingend notwendig (z.B. für ein Zimmer), wenn über .identifier identifizierbar; weicht daher ab von https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location +* mode MS //Motivation: entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location + * ^patternCodeableConcept.coding = $LocationMode#instance +* type MS + * ^comment = "Motivation: Ein System muss den Typ eines Standorts zum Abruf bereitstellen, sofern diese Information verfügbar ist." +* address MS +* address only AddressDeBasis +* physicalType 1..1 MS //Motivation: entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location + * ^comment = "test" +* position MS + * ^comment = "Motivation: Ein System muss die Geodaten eines Standorts zum Abruf bereitstellen, sofern diese Information verfügbar ist." +* managingOrganization 1..1 MS //Motivation: entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location +* partOf MS + * ^comment = "Motivation: Ein System muss die organisationale Zugehörigkeit eines Standorts zum Abruf bereitstellen, sofern diese Information verfügbar ist." +* hoursOfOperation MS + * ^comment = "Motivation: Ein System muss die Betriebszeiten eines Standorts zum Abruf bereitstellen, sofern diese Information verfügbar ist." + +Profile: ISiKStandortRaum +Parent: ISiKStandort +Id: ISiKStandortRaum +Description: "Dieses Profil dient der strukturierten Erfassung von Räumen (als Standorten) eines Krankenhauses." +* physicalType = $LocationPhysicalType#ro "Room" +* operationalStatus MS +* operationalStatus from http://terminology.hl7.org/CodeSystem/v2-0116 (required) + * ^comment = "Motivation: Entsprechend der Bedarfsmeldung im Rahmen der AG zur Ausbaustufe 4 muss ein System den Belegungsstatus eines Raums zum Abruf bereitstellen, sofern diese Information verfügbar ist. Dies dient z.B. der Markierung als 'Isoliert'." + +Profile: ISiKStandortBettenstellplatz +Parent: ISiKStandort +Id: ISiKStandortBettenstellplatz +Description: "Dieses Profil dient der strukturierten Erfassung von Bettenstellplätzen (als Standorten) eines Krankenhauses" +* physicalType = $LocationPhysicalType#bd "Bed" // Dies entspreicht der Definition des VS "This is not the physical bed/trolley that may be moved about, but the space it may occupy." +* operationalStatus MS +* operationalStatus from http://terminology.hl7.org/CodeSystem/v2-0116 (required) + * ^comment = "Motivation: Entsprechend der Bedarfsmeldung im Rahmen der AG zur Ausbaustufe 4 muss ein System den Belegungsstatus eines Bettenstellplatz zum Abruf bereitstellen, sofern diese Information verfügbar ist. Dies dient z.B. der Markierung als 'Isoliert'. Im Sinne der Interoperabilität ist das ValueSet verpflichtend." + + +Instance: RaumStandortBeispiel +InstanceOf: ISiKStandort +Usage: #example +* physicalType = $LocationPhysicalType#ro "Room" +* managingOrganization = Reference(AbteilungAllgemeinchirurgieOrganisationBeispiel) + +Instance: BettenstellplatzStandortBeispiel +InstanceOf: ISiKStandortBettenstellplatz +Usage: #example +* managingOrganization = Reference(AbteilungAllgemeinchirurgieOrganisationBeispiel) +* partOf = Reference(RaumStandortBeispiel) + + + diff --git a/Resources/input/fsh/aliases.fsh b/Resources/input/fsh/aliases.fsh index d7b0154a..35b3e776 100644 --- a/Resources/input/fsh/aliases.fsh +++ b/Resources/input/fsh/aliases.fsh @@ -6,6 +6,7 @@ Alias: $diagnosis-role = http://terminology.hl7.org/CodeSystem/diagnosis-role Alias: $v3-ActCode = http://terminology.hl7.org/CodeSystem/v3-ActCode Alias: $DiagnosisRole = http://terminology.hl7.org/CodeSystem/diagnosis-role Alias: $LocationPhysicalType = http://terminology.hl7.org/CodeSystem/location-physical-type +Alias: $LocationMode = http://hl7.org/fhir/location-mode Alias: $icd-10-gm = http://fhir.de/CodeSystem/bfarm/icd-10-gm Alias: $icd-10-gm-mehrfachcodierungs-kennzeichen-cs = http://fhir.de/CodeSystem/icd-10-gm-mehrfachcodierungs-kennzeichen Alias: $icd-10-gm-mehrfachcodierungs-kennzeichen-sd = http://fhir.de/StructureDefinition/icd-10-gm-mehrfachcodierungs-kennzeichen @@ -39,3 +40,11 @@ Alias: $kvnr30 = http://fhir.de/sid/gkv/kvnr-30 Alias: $patient-merge-topic = https://gematik.de/fhir/isik/SubscriptionTopic/patient-merge Alias: $vsAllergyIntoleranceClinicalStatus = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical Alias: $vsAllergyIntoleranceVerificationStatus = http://terminology.hl7.org/CodeSystem/allergyintolerance-verification + +Alias: $GEM_PR_KIM_AdressIdentifier = https://gematik.de/fhir/atf/StructureDefinition/identifier-address-kim +Alias: $GEM_PR_TIM_AdressIdentifier = https://gematik.de/fhir/atf/StructureDefinition/identifier-address-tim +Alias: $identifier-iknr = http://fhir.de/StructureDefinition/identifier-iknr +Alias: $identifier-bsnr = http://fhir.de/StructureDefinition/identifier-bsnr +Alias: $identifer-TelematikID = http://fhir.de/StructureDefinition/identifier-telematik-id +Alias: $organization_type = http://terminology.hl7.org/CodeSystem/organization-type +Alias: $identifier-standortnummer-dkg = http://fhir.de/StructureDefinition/identifier-standortnummer \ No newline at end of file