From 9b04282afbe0e18f788eb9af584421ad25f42a2d Mon Sep 17 00:00:00 2001 From: f-peverali <112709306+f-peverali@users.noreply.github.com> Date: Wed, 13 Mar 2024 16:15:43 +0100 Subject: [PATCH] update Standort und Organisation --- .../Organisation/Organisation_Beispiele.md | 6 ++- .../Organisation_Interaktionen.md | 12 +++--- .../Organisation/Organisation_Motivation.md | 8 ++++ .../Organisation/Organisation_Profil.md | 21 ++++++++--- .../markdown/Standort/Standort_Beispiele.md | 6 ++- .../Standort/Standort_Interaktionen.md | 4 +- .../markdown/Standort/Standort_Motivation.md | 19 ++++++++-- .../markdown/Standort/Standort_Profil.md | 37 ++++++++++++++++--- .../src/plantuml/Standort-Organisation.puml | 4 +- .../fsh/ISiKKontaktGesundheitseinrichtung.fsh | 6 +-- Resources/input/fsh/ISiKOrganisation.fsh | 4 +- Resources/input/fsh/ISiKStandort.fsh | 18 ++++----- Resources/sushi-config.yaml | 2 +- project.yaml | 2 +- 14 files changed, 106 insertions(+), 43 deletions(-) diff --git a/ImplementationGuide/markdown/Organisation/Organisation_Beispiele.md b/ImplementationGuide/markdown/Organisation/Organisation_Beispiele.md index 1403b501..2c72bb60 100644 --- a/ImplementationGuide/markdown/Organisation/Organisation_Beispiele.md +++ b/ImplementationGuide/markdown/Organisation/Organisation_Beispiele.md @@ -1,5 +1,9 @@ ### Beispiele +Valides Minimalbeispiel eines Krankenhauses: +{{json:KrankenhausOrganisationBeispiel}} + +Valides Minimalbeispiel einer Fachabteilung: +{{json:AbteilungAllgemeinchirurgieOrganisationBeispiel}} -Valides Minimalbeispiel Organization: diff --git a/ImplementationGuide/markdown/Organisation/Organisation_Interaktionen.md b/ImplementationGuide/markdown/Organisation/Organisation_Interaktionen.md index dd274ae5..93c82f0b 100644 --- a/ImplementationGuide/markdown/Organisation/Organisation_Interaktionen.md +++ b/ImplementationGuide/markdown/Organisation/Organisation_Interaktionen.md @@ -1,9 +1,9 @@ ### Interaktionen -Für die Ressource Organization SOLL die REST-Interaktion "READ" implementiert werden. -Alle Anforderungen, die in Stufe 4 mit "SOLL" gekennzeichnet sind, sollen in einer künftigen Stufe auf "MUSS" gesetzt werden. +Für die Ressource Organization KANN die REST-Interaktion "READ" implementiert werden. +Außerdem gilt: -1. Der Suchparameter "identifier" SOLL unterstützt werden: +1. Der Suchparameter "identifier" KANN unterstützt werden: Beispiele: @@ -23,7 +23,7 @@ Alle Anforderungen, die in Stufe 4 mit "SOLL" gekennzeichnet sind, sollen in ein 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 "active" SOLL unterstützt werden: +1. Der Suchparameter "type" KANN unterstützt werden: Beispiele: @@ -31,7 +31,7 @@ Alle Anforderungen, die in Stufe 4 mit "SOLL" gekennzeichnet sind, sollen in ein 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): +1. Der Suchparameter "name" KANN unterstützt werden (dies gilt auch für das Element .alias): Beispiele: @@ -76,7 +76,7 @@ Alle Anforderungen, die in Stufe 4 mit "SOLL" gekennzeichnet sind, sollen in ein Anwendungshinweise: Weitere Informationen zur Suche nach "Organization.address.postalCode" 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 : +1. Der Suchparameter "partof" in Kombination mit einem identifier-Modifier KANN unterstützt werden : Beispiele: diff --git a/ImplementationGuide/markdown/Organisation/Organisation_Motivation.md b/ImplementationGuide/markdown/Organisation/Organisation_Motivation.md index 87877c4c..567647ee 100644 --- a/ImplementationGuide/markdown/Organisation/Organisation_Motivation.md +++ b/ImplementationGuide/markdown/Organisation/Organisation_Motivation.md @@ -8,4 +8,12 @@ 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 index fadaa9f7..e17664ef 100644 --- a/ImplementationGuide/markdown/Organisation/Organisation_Profil.md +++ b/ImplementationGuide/markdown/Organisation/Organisation_Profil.md @@ -1,17 +1,28 @@ ### FHIR-Profil -Die Implementierung des Profils ISiKOrganisation im Rahmen der Ausbaustufe 4 ist nicht verpflichtend (KANN-Anforderung). +Das Profil ISiKOrganisation soll auch ein Krankenhaus als ganzes abbilden können: -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``` + +--- + +Das Profil ISiKOrganisationFachabteilung soll eine einzelne Fachabteilung abbilden: @``` -from StructureDefinition where url = 'https://gematik.de/fhir/isik/v4/Basismodul/StructureDefinition/ISiKOrganisation' select Name: name, Canonical: url +from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung' select Name: name, Canonical: url ``` -{{tree:https://gematik.de/fhir/isik/v4/Basismodul/StructureDefinition/ISiKOrganisation, hybrid}} +{{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/v4/Basismodul/StructureDefinition/ISiKOrganisation' for differential.element.constraint select key, severity, human, expression``` +@``` from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKOrganisationFachabteilung' for differential.element.constraint select key, severity, human, expression``` --- diff --git a/ImplementationGuide/markdown/Standort/Standort_Beispiele.md b/ImplementationGuide/markdown/Standort/Standort_Beispiele.md index 44b9b195..2d2d1c41 100644 --- a/ImplementationGuide/markdown/Standort/Standort_Beispiele.md +++ b/ImplementationGuide/markdown/Standort/Standort_Beispiele.md @@ -1,5 +1,9 @@ ### Beispiele -Valides Minimalbeispiel Standort: +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 index 5533a665..cb83638d 100644 --- a/ImplementationGuide/markdown/Standort/Standort_Interaktionen.md +++ b/ImplementationGuide/markdown/Standort/Standort_Interaktionen.md @@ -1,6 +1,6 @@ ### Interaktionen -Für die Ressource Standort SOLL die REST-Interaktion "READ" implementiert werden. -Alle Anforderungen, die in Stufe 4 mit "SOLL" gekennzeichnet sind, sollen in einer künftigen Stufe auf "MUSS" gesetzt werden. +Für die Ressource Standort KANN die REST-Interaktion "READ" implementiert werden. +Interaktionen zum Standort werden derzeit nicht weiter festgelegt. diff --git a/ImplementationGuide/markdown/Standort/Standort_Motivation.md b/ImplementationGuide/markdown/Standort/Standort_Motivation.md index f135298c..2a9c830c 100644 --- a/ImplementationGuide/markdown/Standort/Standort_Motivation.md +++ b/ImplementationGuide/markdown/Standort/Standort_Motivation.md @@ -3,12 +3,23 @@ In FHIR wird die Organisation (Organization) vom Standort (Location) eindeutig a 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 ermöglicht u.a.: +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) -- Im Rahmen der Versorgung kann eine der folgenden Beispiel-Fragen beantworten werden : +- 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. + - 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 index 73276511..7b6649bd 100644 --- a/ImplementationGuide/markdown/Standort/Standort_Profil.md +++ b/ImplementationGuide/markdown/Standort/Standort_Profil.md @@ -1,18 +1,43 @@ -### FHIR-Profil - -Die Implementierung des Profils ISiKStandort im Rahmen der Ausbaustufe 4 ist nicht verpflichtend (KANN-Anforderung). +### FHIR-Profile Das Profil ISiKStandort soll auch ein Krankenhaus als ganzes abbilden können. @``` -from StructureDefinition where url = 'https://gematik.de/fhir/isik/v4/Basismodul/StructureDefinition/ISiKStandort' select Name: name, Canonical: url +from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort' select Name: name, Canonical: url ``` -{{tree:https://gematik.de/fhir/isik/v4/Basismodul/StructureDefinition/ISiKStandort, hybrid}} +{{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/v4/Basismodul/StructureDefinition/ISiKStandort' for differential.element.constraint select key, severity, human, expression``` +@``` from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort' for differential.element.constraint select key, severity, human, expression``` --- +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``` + --- + +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. +--- + + diff --git a/Material/images/src/plantuml/Standort-Organisation.puml b/Material/images/src/plantuml/Standort-Organisation.puml index ad1de2f2..41be6fed 100644 --- a/Material/images/src/plantuml/Standort-Organisation.puml +++ b/Material/images/src/plantuml/Standort-Organisation.puml @@ -9,12 +9,12 @@ namespace ISiK_Basis { class ISiKStandortRaum <<(P,#1dde23)>> - class ISiKStandortBett <<(P,#1dde23)>> + class ISiKStandortBettenstellplatz <<(P,#1dde23)>> class ISiKOrganisationFachbteilung <<(P,#1dde23)>> ISiKStandort <|-- ISiKStandortRaum - ISiKStandort <|-- ISiKStandortBett + ISiKStandort <|-- ISiKStandortBettenstellplatz ISiKStandort o-- ISiKStandort : .partof 0..1 ' https://build.fhir.org/organization.html diff --git a/Resources/input/fsh/ISiKKontaktGesundheitseinrichtung.fsh b/Resources/input/fsh/ISiKKontaktGesundheitseinrichtung.fsh index fcdd22ba..b84c48e4 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 @@ -106,7 +106,7 @@ Description: "Dieses Profil ermöglicht die Herstellung eines Fallbezuges welche * display 1.. MS * physicalType 1..1 MS * physicalType = http://terminology.hl7.org/CodeSystem/location-physical-type#ro -* location[Bett] +* location[Bettenstellplatz] * location 1.. MS * identifier 1.. MS * display 1.. MS @@ -164,7 +164,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 index 3e853889..f77f5631 100644 --- a/Resources/input/fsh/ISiKOrganisation.fsh +++ b/Resources/input/fsh/ISiKOrganisation.fsh @@ -134,7 +134,7 @@ Description: "Dieses Profil beschreibt die Nutzung von Organisationseinheiten in * 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 @@ -143,7 +143,7 @@ Usage: #example * identifier[BSNR] * identifier[BSNR].value = $identifier-iknr#345678975 * name = "Uniklinik Entenhausen" -*/ + Instance: AbteilungAllgemeinchirurgieOrganisationBeispiel InstanceOf: ISiKOrganisationFachabteilung diff --git a/Resources/input/fsh/ISiKStandort.fsh b/Resources/input/fsh/ISiKStandort.fsh index cab1069d..ca89f2cf 100644 --- a/Resources/input/fsh/ISiKStandort.fsh +++ b/Resources/input/fsh/ISiKStandort.fsh @@ -23,19 +23,19 @@ Description: "Dieses Profil dient der strukturierten Erfassung von Standortangab Profile: ISiKStandortRaum Parent: ISiKStandort Id: ISiKStandortRaum -Description: "Dieses Profil dient der strukturierten Erfassung von Räumen (als Standorten) eines Krankenhauses" +Description: "Dieses Profil dient der strukturierten Erfassung von Räumen (als Standorten) eines Krankenhauses." * physicalType = $LocationPhysicalType#ro "Room" * operationalStatus MS //TODO: hier ggf. ein dezidiertes VS notwendig für Raumbelegung - * ^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." + * ^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: ISiKStandortBett +Profile: ISiKStandortBettenstellplatz Parent: ISiKStandort -Id: ISiKStandortBett -Description: "Dieses Profil dient der strukturierten Erfassung von Betten (als Standorten) eines Krankenhauses" -* physicalType = $LocationPhysicalType#bd "Bed" +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 Bettes zum Abruf bereitstellen, sofern diese Information verfügbar ist. Im Sinne der Interoperabilität ist das ValueSet verpflichtend." + * ^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 @@ -44,8 +44,8 @@ Usage: #example * physicalType = $LocationPhysicalType#ro "Room" * managingOrganization = Reference(AbteilungAllgemeinchirurgieOrganisationBeispiel) -Instance: BettStandortBeispiel -InstanceOf: ISiKStandortBett +Instance: BettenstellplatzStandortBeispiel +InstanceOf: ISiKStandortBettenstellplatz Usage: #example * managingOrganization = Reference(AbteilungAllgemeinchirurgieOrganisationBeispiel) * partOf = Reference(RaumStandortBeispiel) diff --git a/Resources/sushi-config.yaml b/Resources/sushi-config.yaml index b4624333..c54429e6 100644 --- a/Resources/sushi-config.yaml +++ b/Resources/sushi-config.yaml @@ -1,4 +1,4 @@ -canonical: https://gematik.de/fhir/isik/v3/Basismodul +canonical: https://gematik.de/fhir/isik fhirVersion: 4.0.1 FSHOnly: true applyExtensionMetadataToRoot: false diff --git a/project.yaml b/project.yaml index 8c172090..32facac9 100644 --- a/project.yaml +++ b/project.yaml @@ -1,2 +1,2 @@ canonical-claims: - - https://gematik.de/fhir/isik/v3/Basismodul + - https://gematik.de/fhir/isik