diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 987fa188..ec775ad0 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -3,8 +3,7 @@ FROM mcr.microsoft.com/devcontainers/base:alpine-3.18 # Setzen der Umgebungsvariablen ENV FIRELY_TERMINAL_VERSION=3.1.0 ENV JAVA_VALIDATOR_VERSION=6.0.11 -ENV SUSHI_VERSION=3.5.0 - +ENV SUSHI_VERSION=3.7.0 # Installieren der notwendige Tools # Add Microsoft's .NET SDK repository and install .NET SDK RUN wget https://dot.net/v1/dotnet-install.sh \ diff --git a/ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Subscription.md b/ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Subscription.md new file mode 100644 index 00000000..df6721c6 --- /dev/null +++ b/ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Subscription.md @@ -0,0 +1,3 @@ +## Subscription patient-merge [(R5 Backport Subscription)](https://hl7.org/fhir/uv/subscriptions-backport/components.html) + +--- \ No newline at end of file diff --git a/ImplementationGuide/markdown/Subscription/Subscription_AnmerkungenZuDenMustSupportFeldern.md b/ImplementationGuide/markdown/Subscription/Subscription_AnmerkungenZuDenMustSupportFeldern.md new file mode 100644 index 00000000..97523beb --- /dev/null +++ b/ImplementationGuide/markdown/Subscription/Subscription_AnmerkungenZuDenMustSupportFeldern.md @@ -0,0 +1,49 @@ +### Anmerkungen zu den Must-Support-Feldern + +### `Subscription.status` + +**Bedeutung:** Der Status der Subscription, der den Serverstatus der Subscription angibt. Neue Subscriptions werden immer mit dem Status `requested` an den Server übergeben. Der Server ändert im Anschluss den status auf `active` oder im Fehlerfall auf `error`. + +**Hinweise:** Siehe [R4 Subscriptions](https://hl7.org/fhir/R4/subscription.html) + +### `Subscription.reason` + +**Bedeutung:** Beschreibung wieso diese Subscription erstellt wurde. + +**Hinweise:** Siehe [R4 Subscriptions](https://hl7.org/fhir/R4/subscription.html) + +### `Subscription.category` + +**Bedeutung:** Canonical URL des Subscription-Topics, aktuell nur unterstützt: https://gematik.de/fhir/isik/SubscriptionTopic/patient-merge + +**Hinweise:** Siehe [Subscriptions R5 Backport](https://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition-backport-subscription.html) + +### `Subscription.type` + +**Bedeutung:** Der Typ des Kommunikationskanals, über den Subscription-Benachrichtigungen gesendet werden sollen. + +**Hinweise:** Siehe [R4 Subscriptions](https://hl7.org/fhir/R4/subscription.html) + +### `Subscription.endpoint` + +**Bedeutung:** Adresse des Kommunikationskanals/ Endpunkts an den Subscription-Benachrichtigungen gesendet werden sollen. Dies ist nur für rest-hook Subscriptions relevant. + +**Hinweise:** Siehe [R4 Subscriptions](https://hl7.org/fhir/R4/subscription.html) + +### `Subscription.payload` + +**Bedeutung:** Format in dem Subscription Notifications versendet werden sollen (JSON oder XML) + +**Hinweise:** Siehe [R4 Subscriptions](https://hl7.org/fhir/R4/subscription.html) + +### `Subscription.payload.extension[content]` + +**Bedeutung:** Welcher Ressourceninhalt in der Nutzlast der Benachrichtigung geliefert werden soll. Zur Auswahl stehen eine leere Nutzlast (`empty`), nur die Ressourcenid (`id-only`) oder der gesamte Inhalt der Ressource (`full-resource`). + +**Hinweise:** Siehe [Extension: Backport R5 Subscription Payload Content Information](https://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition-backport-payload-content.html) + +### `Subscription.header` + +**Bedeutung:** http-Header welcher dazu genutzt werden kann einen Authorization-header zu setzen. Dies ist nur für rest-hook Subscriptions relevant. + +**Hinweise:** ACHTUNG: dieses Datenfeld muss bei READ-Interaktionen maskiert werden! Siehe [R4 Subscriptions](https://hl7.org/fhir/R4/subscription.html) \ No newline at end of file diff --git a/ImplementationGuide/markdown/Subscription/Subscription_Beispiele.md b/ImplementationGuide/markdown/Subscription/Subscription_Beispiele.md new file mode 100644 index 00000000..83ea3b6d --- /dev/null +++ b/ImplementationGuide/markdown/Subscription/Subscription_Beispiele.md @@ -0,0 +1,25 @@ +### Beispiele + +#### Subscription + +{{json:PatientMergeSubscriptionExample}} + +#### SubscriptionNotification-Bundle + +{{json:SubscriptionNotificationBundleExample}} + +#### Patientenobjekte +"Quell" Patienten-Ressource: +{{json:DorisQuelle}} + +und + +"Ziel" Patienten-Ressource: +{{json:DorisZiel}} + +Mittels eines Patient-merge-Vorgangs wird die "Ziel" Patienten-Ressource ausgewählt und beide Ressourcen entsprechend modifiziert: + +Resultierende Patientin: +{{json:DorisResultat}} + +--- diff --git a/ImplementationGuide/markdown/Subscription/Subscription_Interaktionen.md b/ImplementationGuide/markdown/Subscription/Subscription_Interaktionen.md new file mode 100644 index 00000000..43ec0ca6 --- /dev/null +++ b/ImplementationGuide/markdown/Subscription/Subscription_Interaktionen.md @@ -0,0 +1,5 @@ +### Interaktionen + +Für die Ressource Subscription MUSS die REST-Interaktion "READ", "CREATE", "UPDATE", "DELETE" implementiert werden. + +--- \ No newline at end of file diff --git a/ImplementationGuide/markdown/Subscription/Subscription_Kompatibilitaet.md b/ImplementationGuide/markdown/Subscription/Subscription_Kompatibilitaet.md new file mode 100644 index 00000000..49209257 --- /dev/null +++ b/ImplementationGuide/markdown/Subscription/Subscription_Kompatibilitaet.md @@ -0,0 +1,8 @@ +### Kompatibilität + +Das Profil PatientMergeSubscription basiert auf dem [Backport-Subscription Profil](https://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition-backport-subscription.html). +Der [SubscriptionStatus](https://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition-backport-subscription-status-r4.html), sowie das [Subscription Notification Bundle](https://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition-backport-subscription-notification-r4.html) werden unverändert direkt aus dem [Subscriptions R5 Backport IG](https://hl7.org/fhir/uv/subscriptions-backport/index.html) genutzt. + +--- + + diff --git a/ImplementationGuide/markdown/Subscription/Subscription_Motivation.md b/ImplementationGuide/markdown/Subscription/Subscription_Motivation.md new file mode 100644 index 00000000..f23be482 --- /dev/null +++ b/ImplementationGuide/markdown/Subscription/Subscription_Motivation.md @@ -0,0 +1,7 @@ +## Motivation + +Duplizierte Patientendatensätze innerhalb eines patientenführenden Systems treten im betrieblichen Alltag immer wieder auf. Diese Duplikate werden nach dem Bekanntwerden auf ein Patientenobjekt zusammengeführt (gemerged). + +Um als Subsystem über ein Patienten-Merge-Event informiert zu werden, wird der FHIR Subscription Mechanismus gemäß der FHIR R5 Spezifikation genutzt. + +--- diff --git a/ImplementationGuide/markdown/Subscription/Subscription_Profil.md b/ImplementationGuide/markdown/Subscription/Subscription_Profil.md new file mode 100644 index 00000000..714c85fe --- /dev/null +++ b/ImplementationGuide/markdown/Subscription/Subscription_Profil.md @@ -0,0 +1,11 @@ +## Profil + +@``` +from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/patient-merge-subscription' select Name: name, Canonical: url +``` + +{{tree:https://gematik.de/fhir/isik/StructureDefinition/patient-merge-subscription, hybrid}} + +@``` from StructureDefinition where url = 'https://gematik.de/fhir/isik/StructureDefinition/patient-merge-subscription' for differential.element.constraint select key, severity, human, expression``` + +--- \ No newline at end of file diff --git a/ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Patient-merge.md b/ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Patient-merge.md index 9dffa8ec..dbf027f9 100644 --- a/ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Patient-merge.md +++ b/ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Patient-merge.md @@ -15,44 +15,47 @@ Ein externes Starten eines Patient merge - bspw. durch die [$patient-merge Opera ## Gemergte Patienten Instanz Wenn ein Patient merge geschieht, gelten für das patientenführende System folgende Anforderungen: -**REQ_BAS_PAT-MER-010**: Das patientenführende System MUSS sicherstellen, dass ein externer Client, dem ein lesender Zugriff auf eine Patienten-Ressource erteilt wurde, auch nach einem Patient merge auf diese obsolete Ressource zugreifen kann, um eine Abfrage auf die resultierende Ressource mittels .link-Elements zu ermöglichen. Dies MUSS solange gelten, bis das patientenführende System sicherstellen kann - z.B. mittels eines vereinbarten Workflows -, dass alle Abfragen des Clients, die potentiell auf die obsolete Ressource zielen könnten, in Zukunft auf die resultierende Ressource zielen. +**REQ_BAS_PAT-MER-010**: Das patientenführende System MUSS sicherstellen, dass alle auf die obsolete Ressource referenzierenden FHIR-Ressourcen nach dem merge auf die resultierende Ressource referenzieren. -### Datenelemente der obsoleten Patienten-Ressource +### Die obsolete Patienten-Ressource -**REQ_BAS_PAT-MER-011**: Das patientenführende System MUSS nach einem merge die Elemente der obsoleten Ressource folgendermaßen befüllen, um sicherzustellen, dass die obsolete Ressource auf die resultieren Ressource verweist und das die obsolete Ressource als inaktiv gekennzeichnet ist: +**REQ_BAS_PAT-MER-011**: Das patientenführende System KANN die obsolete Patienten-Ressource weiter vorhalten. Ein Entfernen der obsoleten Ressource ist ebenfalls erlaubt. + +Soll die obsolete Ressource nach einem merge weiter vorgehalten werden MÜSSEN die Elemente der obsoleten Ressource folgendermaßen befüllt werden, um sicherzustellen, dass die obsolete Ressource auf die resultieren Ressource verweist und das die obsolete Ressource als inaktiv gekennzeichnet ist: - .active = false - .link.other = Reference(auf “resultierenden” Patient) - .link.type = “replaced-by” -### Datenelemente der resultierenden Patienten-Ressource - -**REQ_BAS_PAT-MER-012**: Das patientenführende System MUSS nach einem merge die Elemente der resultierende Ressource folgendermaßen befüllen, um sicherzustellen, dass die resultierende Ressource auf die obsolete Ressource verweist: -- .link.other = Reference(auf “obsoleten” Patient) -- .link.type = “replaced-by” - ## Beispiele Die Patient merge Notification kann folgendermaßen illustriert werden: es existieren fälschlicherweise zwei Instanzen, die sich lediglich hinsichtlich der organisationsspezifischen Patienten-ID unterscheiden. -Diese sind: +Diese sind: -"Quell" Patienten-Ressource: +"Quell" Patienten-Ressource: {{json:DorisQuelle}} und -"Ziel" Patienten-Ressource: +"Ziel" Patienten-Ressource: {{json:DorisZiel}} Mittels eines Patient-merge-Vorgangs wird die "Ziel" Patienten-Ressource ausgewählt und beide Ressourcen entsprechend modifiziert: -Obsolete Patienten-Ressource: -{{json:DorisObsolet}} - Resultierende Patientin: {{json:DorisResultat}} +### Datenelemente der resultierenden Patienten-Ressource + +**REQ_BAS_PAT-MER-012**: Das patientenführende System MUSS nach einem merge die Elemente der resultierenden Ressource folgendermaßen befüllen, um sicherzustellen, dass die resultierende Ressource auf die obsolete Ressource verweist: +- .link.other = Reference.identifier (logische Referenz mittels Patientennummer Identifier auf “obsoleten” Patient) +- .link.type = “replaces” + ## Patient merge Notification -**REQ_BAS_PAT-MER-020**: Das patientenführende System MUSS einen Client mittels FHIR Subscription über einen erfolgten Patienten merge informieren können. +**REQ_BAS_PAT-MER-020**: Das patientenführende System MUSS einen Client mittels FHIR Subscription über einen erfolgten Patienten merge informieren können. Dieser Mechanismus basiert auf dem [Subscriptions R5 Backport IG](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html) und nutzt das Konzept der "Topic-Based Subscription" aus FHIR R5. -Hier wird aktuell geklärt ob dies mittels r4 Subscription oder R5 backport topic-based Subscription erfolgen soll. +Hierfür wurde das Subscription Topic: *https://gematik.de/fhir/isik/SubscriptionTopic/patient-merge* definiert. +Das patientenführende System MUSS den Support dieser Subscription inneralb des CapabilityStatements bekannt geben. +## Client-System +**REQ_BAS_PAT-MER-021**: Client-Systeme MÜSSEN den Status einer gecachten Patienteninstanz vor der Interaktion mit einem patientenführenden System per READ auf das Patientenobjekt überprüfen. +Sollte das Patientenobjekt nicht mehr bereitstehen, oder hat den status `active=false` muss das Patientenobjekt mittels Suche auf einen bekannten & stabilen Identifier neu geladen werden. \ No newline at end of file diff --git a/ImplementationGuide/markdown/UebergreifendeFestlegungen/Use-Case-Diagram.iuml b/ImplementationGuide/markdown/UebergreifendeFestlegungen/Use-Case-Diagram.iuml index bc36cefa..7a0ddc87 100644 --- a/ImplementationGuide/markdown/UebergreifendeFestlegungen/Use-Case-Diagram.iuml +++ b/ImplementationGuide/markdown/UebergreifendeFestlegungen/Use-Case-Diagram.iuml @@ -10,7 +10,7 @@ usecase (UC05: Datenbereinigung) as UC05 usecase (UC06: Konfliktlösung) as UC06 usecase UC07 as "UC07: Meldung von Dateninkonsistenzen" usecase UC08 as "UC08: Neu refrenzieren" -     + } :Mitarbeiterin: diff --git a/Resources/fsh-generated/resources/Account-AbrechnungsfallAmbulant.json b/Resources/fsh-generated/resources/Account-AbrechnungsfallAmbulant.json index ce7f3550..ed6acb4e 100644 --- a/Resources/fsh-generated/resources/Account-AbrechnungsfallAmbulant.json +++ b/Resources/fsh-generated/resources/Account-AbrechnungsfallAmbulant.json @@ -3,7 +3,7 @@ "id": "AbrechnungsfallAmbulant", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKAbrechnungsfall" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKAbrechnungsfall" ] }, "identifier": [ diff --git a/Resources/fsh-generated/resources/Bundle-ISiKBundle-Example.json b/Resources/fsh-generated/resources/Bundle-ISiKBundle-Example.json index 30b506c4..88a597a8 100644 --- a/Resources/fsh-generated/resources/Bundle-ISiKBundle-Example.json +++ b/Resources/fsh-generated/resources/Bundle-ISiKBundle-Example.json @@ -3,7 +3,7 @@ "id": "ISiKBundle-Example", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKBerichtBundle" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtBundle" ] }, "type": "document", @@ -27,7 +27,7 @@ "id": "composition-blutdruck", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtSubSysteme" ] }, "status": "final", diff --git a/Resources/fsh-generated/resources/Bundle-SubscriptionNotificationBundleExample.json b/Resources/fsh-generated/resources/Bundle-SubscriptionNotificationBundleExample.json new file mode 100644 index 00000000..ab858182 --- /dev/null +++ b/Resources/fsh-generated/resources/Bundle-SubscriptionNotificationBundleExample.json @@ -0,0 +1,116 @@ +{ + "resourceType": "Bundle", + "id": "SubscriptionNotificationBundleExample", + "type": "history", + "entry": [ + { + "fullUrl": "urn:uuid:9bb6fcbd-8391-4e35-bd4c-620a2db47af0", + "resource": { + "resourceType": "Parameters", + "id": "SubscriptionNotification", + "meta": { + "profile": [ + "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4" + ] + }, + "parameter": [ + { + "name": "subscription", + "valueReference": { + "reference": "Subscription/1" + } + }, + { + "name": "topic", + "valueCanonical": "https://gematik.de/fhir/isik/SubscriptionTopic/patient-merge" + }, + { + "name": "status", + "valueCode": "active" + }, + { + "name": "type", + "valueCode": "event-notification" + }, + { + "name": "events-since-subscription-start", + "valueString": "1" + }, + { + "name": "notification-event", + "part": [ + { + "name": "event-number", + "valueString": "1" + }, + { + "name": "timestamp", + "valueDate": "2024-02-22" + }, + { + "name": "focus", + "valueReference": { + "reference": "Patient/DorisQuelle" + } + } + ] + } + ] + } + }, + { + "fullUrl": "http://example.com/fhir/Patient/DorisQuelle/_history/2", + "resource": { + "resourceType": "Patient", + "id": "DorisQuelle", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "code": "MR", + "system": "http://terminology.hl7.org/CodeSystem/v2-0203" + } + ] + }, + "system": "https://fhir.krankenhaus.example/sid/PID", + "value": "654321" + }, + { + "system": "http://fhir.de/sid/gkv/kvid-10", + "type": { + "coding": [ + { + "code": "GKV", + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis" + } + ] + }, + "value": "A123456789" + } + ], + "name": [ + { + "use": "official", + "family": "Duplikat", + "given": [ + "Doris" + ] + } + ], + "active": false, + "gender": "female", + "birthDate": "1964-08-12" + }, + "request": { + "method": "PUT", + "url": "Patient/DorisQuelle" + } + } + ] +} diff --git a/Resources/fsh-generated/resources/CapabilityStatement-ISiKCapabilityStatementBasisServer.json b/Resources/fsh-generated/resources/CapabilityStatement-ISiKCapabilityStatementBasisServer.json index b356cda5..10930147 100644 --- a/Resources/fsh-generated/resources/CapabilityStatement-ISiKCapabilityStatementBasisServer.json +++ b/Resources/fsh-generated/resources/CapabilityStatement-ISiKCapabilityStatementBasisServer.json @@ -53,7 +53,7 @@ ], "type": "Patient", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient" ], "interaction": [ { @@ -380,7 +380,7 @@ ], "type": "Encounter", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung" ], "interaction": [ { @@ -510,7 +510,7 @@ } ], "name": "date-start", - "definition": "https://gematik.de/fhir/isik/v3/Basismodul/SearchParameter/Encounter-date-start", + "definition": "https://gematik.de/fhir/isik/SearchParameter/Encounter-date-start", "type": "date" }, { @@ -521,7 +521,7 @@ } ], "name": "end-date", - "definition": "https://gematik.de/fhir/isik/v3/Basismodul/SearchParameter/Encounter-end-date", + "definition": "https://gematik.de/fhir/isik/SearchParameter/Encounter-end-date", "type": "date" }, { @@ -657,7 +657,7 @@ ], "type": "Account", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAbrechnungsfall" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKAbrechnungsfall" ], "interaction": [ { @@ -757,7 +757,7 @@ ], "type": "Condition", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" ], "interaction": [ { @@ -934,7 +934,7 @@ ], "type": "Procedure", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" ], "interaction": [ { @@ -1111,8 +1111,8 @@ ], "type": "Coverage", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich", - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich", + "https://gematik.de/fhir/isik/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler" ], "interaction": [ { @@ -1274,7 +1274,7 @@ ], "type": "RelatedPerson", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKAngehoeriger" ], "interaction": [ { @@ -1431,7 +1431,7 @@ ], "type": "Practitioner", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPersonImGesundheitsberuf" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKPersonImGesundheitsberuf" ], "interaction": [ { @@ -1553,7 +1553,7 @@ ], "type": "CodeSystem", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKCodeSystem" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKCodeSystem" ], "interaction": [ { @@ -1653,7 +1653,7 @@ ], "type": "ValueSet", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKValueSet" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKValueSet" ], "interaction": [ { @@ -1753,7 +1753,7 @@ ], "type": "Composition", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtSubSysteme" ] }, { @@ -1765,7 +1765,7 @@ ], "type": "Bundle", "supportedProfile": [ - "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtBundle" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtBundle" ] }, { @@ -1773,19 +1773,19 @@ { "url": "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/capabilitystatement-subscriptiontopic-canonical", "valueCode": "SHALL", - "valueCanonical": "https://gematik.de/fhir/isik/v4/Basismodul/topic/patient-merge" + "valueCanonical": "https://gematik.de/fhir/isik/SubscriptionTopic/patient-merge" } ], "type": "Subscription", "supportedProfile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/patient-merge-subscription" + "https://gematik.de/fhir/isik/StructureDefinition/patient-merge-subscription" ], "_supportedProfile": [ { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "SHALL" } ] } @@ -1804,7 +1804,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "SHALL" } ], "code": "create" @@ -1813,7 +1813,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "SHALL" } ], "code": "update" @@ -1822,34 +1822,22 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "SHALL" } ], "code": "delete" } ], - "searchParam": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ], - "name": "url", - "definition": "http://hl7.org/fhir/SearchParameter/Subscription-url", - "type": "uri" - }, + "operation": [ { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "MAY" } ], - "name": "status", - "definition": "http://hl7.org/fhir/SearchParameter/Subscription-status", - "type": "token" + "name": "$get-ws-binding-token", + "definition": "http://hl7.org/fhir/uv/subscriptions-backport/OperationDefinition/backport-subscription-get-ws-binding-token" } ] } @@ -1865,7 +1853,7 @@ } ], "mode": "consumer", - "profile": "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtBundle" + "profile": "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtBundle" } ] } diff --git a/Resources/fsh-generated/resources/CodeSystem-CodeSystemExample.json b/Resources/fsh-generated/resources/CodeSystem-CodeSystemExample.json index 21be1c29..6adcbdcb 100644 --- a/Resources/fsh-generated/resources/CodeSystem-CodeSystemExample.json +++ b/Resources/fsh-generated/resources/CodeSystem-CodeSystemExample.json @@ -3,7 +3,7 @@ "id": "CodeSystemExample", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKCodeSystem" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKCodeSystem" ] }, "version": "4.0.0-rc", diff --git a/Resources/fsh-generated/resources/Composition-composition-blutdruck.json b/Resources/fsh-generated/resources/Composition-composition-blutdruck.json index 5d02b935..c6d5d5ec 100644 --- a/Resources/fsh-generated/resources/Composition-composition-blutdruck.json +++ b/Resources/fsh-generated/resources/Composition-composition-blutdruck.json @@ -3,7 +3,7 @@ "id": "composition-blutdruck", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtSubSysteme" ] }, "status": "final", diff --git a/Resources/fsh-generated/resources/Condition-BehandlungsDiagnoseFreitext.json b/Resources/fsh-generated/resources/Condition-BehandlungsDiagnoseFreitext.json index bcc510cc..621665a9 100644 --- a/Resources/fsh-generated/resources/Condition-BehandlungsDiagnoseFreitext.json +++ b/Resources/fsh-generated/resources/Condition-BehandlungsDiagnoseFreitext.json @@ -3,7 +3,7 @@ "id": "BehandlungsDiagnoseFreitext", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKDiagnose" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" ] }, "clinicalStatus": { diff --git a/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-primaer.json b/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-primaer.json index bc106c06..16f53e22 100644 --- a/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-primaer.json +++ b/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-primaer.json @@ -3,7 +3,7 @@ "id": "Example-condition-ausrufezeichen-primaer", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKDiagnose" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" ] }, "clinicalStatus": { diff --git a/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-sekundaer.json b/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-sekundaer.json index ae48139b..de95468b 100644 --- a/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-sekundaer.json +++ b/Resources/fsh-generated/resources/Condition-Example-condition-ausrufezeichen-sekundaer.json @@ -3,7 +3,7 @@ "id": "Example-condition-ausrufezeichen-sekundaer", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKDiagnose" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" ] }, "extension": [ diff --git a/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-primaer.json b/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-primaer.json index de896972..310b175b 100644 --- a/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-primaer.json +++ b/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-primaer.json @@ -3,7 +3,7 @@ "id": "Example-condition-kreuz-stern-primaer", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKDiagnose" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" ] }, "clinicalStatus": { diff --git a/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-sekundaer.json b/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-sekundaer.json index a8ee3a65..2df4b405 100644 --- a/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-sekundaer.json +++ b/Resources/fsh-generated/resources/Condition-Example-condition-kreuz-stern-sekundaer.json @@ -3,7 +3,7 @@ "id": "Example-condition-kreuz-stern-sekundaer", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKDiagnose" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" ] }, "extension": [ diff --git a/Resources/fsh-generated/resources/Condition-MittelgradigeIntelligenzminderung.json b/Resources/fsh-generated/resources/Condition-MittelgradigeIntelligenzminderung.json index b6c0222c..d31f3be7 100644 --- a/Resources/fsh-generated/resources/Condition-MittelgradigeIntelligenzminderung.json +++ b/Resources/fsh-generated/resources/Condition-MittelgradigeIntelligenzminderung.json @@ -3,7 +3,7 @@ "id": "MittelgradigeIntelligenzminderung", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKDiagnose" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" ] }, "clinicalStatus": { diff --git a/Resources/fsh-generated/resources/Coverage-CoverageGesetzlich.json b/Resources/fsh-generated/resources/Coverage-CoverageGesetzlich.json index e6290bf5..73d96e4d 100644 --- a/Resources/fsh-generated/resources/Coverage-CoverageGesetzlich.json +++ b/Resources/fsh-generated/resources/Coverage-CoverageGesetzlich.json @@ -3,7 +3,7 @@ "id": "CoverageGesetzlich", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich" ] }, "type": { diff --git a/Resources/fsh-generated/resources/Coverage-CoveragePrivat.json b/Resources/fsh-generated/resources/Coverage-CoveragePrivat.json index 02aa74da..a5969ccc 100644 --- a/Resources/fsh-generated/resources/Coverage-CoveragePrivat.json +++ b/Resources/fsh-generated/resources/Coverage-CoveragePrivat.json @@ -3,7 +3,7 @@ "id": "CoveragePrivat", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler" ] }, "type": { diff --git a/Resources/fsh-generated/resources/Encounter-Fachabteilungskontakt.json b/Resources/fsh-generated/resources/Encounter-Fachabteilungskontakt.json index 068ba19f..ff582927 100644 --- a/Resources/fsh-generated/resources/Encounter-Fachabteilungskontakt.json +++ b/Resources/fsh-generated/resources/Encounter-Fachabteilungskontakt.json @@ -3,7 +3,7 @@ "id": "Fachabteilungskontakt", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung" ] }, "type": [ diff --git a/Resources/fsh-generated/resources/Patient-DorisObsolet.json b/Resources/fsh-generated/resources/Patient-DorisObsolet.json deleted file mode 100644 index d478b2b6..00000000 --- a/Resources/fsh-generated/resources/Patient-DorisObsolet.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "resourceType": "Patient", - "id": "DorisObsolet", - "meta": { - "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKPatient" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "code": "MR", - "system": "http://terminology.hl7.org/CodeSystem/v2-0203" - } - ] - }, - "system": "https://fhir.krankenhaus.example/sid/PID", - "value": "654321" - }, - { - "type": { - "coding": [ - { - "code": "GKV", - "system": "http://fhir.de/CodeSystem/identifier-type-de-basis" - } - ] - }, - "system": "http://fhir.de/sid/gkv/kvid-10", - "value": "A123456789" - } - ], - "name": [ - { - "use": "official", - "family": "Duplikat", - "given": [ - "Doris" - ] - } - ], - "active": false, - "gender": "female", - "birthDate": "1964-08-12", - "link": [ - { - "other": { - "reference": "Patient/DorisResultat" - }, - "type": "replaced-by" - } - ] -} diff --git a/Resources/fsh-generated/resources/Patient-DorisQuelle.json b/Resources/fsh-generated/resources/Patient-DorisQuelle.json index 67c24bb0..4339a2a0 100644 --- a/Resources/fsh-generated/resources/Patient-DorisQuelle.json +++ b/Resources/fsh-generated/resources/Patient-DorisQuelle.json @@ -3,7 +3,7 @@ "id": "DorisQuelle", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKPatient" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient" ] }, "identifier": [ @@ -20,6 +20,7 @@ "value": "654321" }, { + "system": "http://fhir.de/sid/gkv/kvid-10", "type": { "coding": [ { @@ -28,7 +29,6 @@ } ] }, - "system": "http://fhir.de/sid/gkv/kvid-10", "value": "A123456789" } ], diff --git a/Resources/fsh-generated/resources/Patient-DorisResultat.json b/Resources/fsh-generated/resources/Patient-DorisResultat.json index 0a55f204..aad98dd7 100644 --- a/Resources/fsh-generated/resources/Patient-DorisResultat.json +++ b/Resources/fsh-generated/resources/Patient-DorisResultat.json @@ -3,7 +3,7 @@ "id": "DorisResultat", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKPatient" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient" ] }, "identifier": [ @@ -20,6 +20,7 @@ "value": "123456" }, { + "system": "http://fhir.de/sid/gkv/kvid-10", "type": { "coding": [ { @@ -28,7 +29,6 @@ } ] }, - "system": "http://fhir.de/sid/gkv/kvid-10", "value": "A123456789" } ], @@ -47,7 +47,10 @@ "link": [ { "other": { - "reference": "Patient/DorisObsolet" + "identifier": { + "system": "https://fhir.krankenhaus.example/sid/PID", + "value": "654321" + } }, "type": "replaces" } diff --git a/Resources/fsh-generated/resources/Patient-DorisZiel.json b/Resources/fsh-generated/resources/Patient-DorisZiel.json index 9421caef..62af907c 100644 --- a/Resources/fsh-generated/resources/Patient-DorisZiel.json +++ b/Resources/fsh-generated/resources/Patient-DorisZiel.json @@ -3,7 +3,7 @@ "id": "DorisZiel", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKPatient" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient" ] }, "identifier": [ @@ -20,6 +20,7 @@ "value": "123456" }, { + "system": "http://fhir.de/sid/gkv/kvid-10", "type": { "coding": [ { @@ -28,7 +29,6 @@ } ] }, - "system": "http://fhir.de/sid/gkv/kvid-10", "value": "A123456789" } ], diff --git a/Resources/fsh-generated/resources/Patient-PatientinMusterfrau.json b/Resources/fsh-generated/resources/Patient-PatientinMusterfrau.json index 8629e1d3..a9e6eab5 100644 --- a/Resources/fsh-generated/resources/Patient-PatientinMusterfrau.json +++ b/Resources/fsh-generated/resources/Patient-PatientinMusterfrau.json @@ -3,7 +3,7 @@ "id": "PatientinMusterfrau", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKPatient" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient" ] }, "identifier": [ diff --git a/Resources/fsh-generated/resources/Practitioner-PractitionerWalterArzt.json b/Resources/fsh-generated/resources/Practitioner-PractitionerWalterArzt.json index c0138eea..e4a35a26 100644 --- a/Resources/fsh-generated/resources/Practitioner-PractitionerWalterArzt.json +++ b/Resources/fsh-generated/resources/Practitioner-PractitionerWalterArzt.json @@ -4,7 +4,7 @@ "meta": { "source": "http://krankenhaus.de", "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKPersonImGesundheitsberuf" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKPersonImGesundheitsberuf" ] }, "name": [ diff --git a/Resources/fsh-generated/resources/Procedure-Appendektomie.json b/Resources/fsh-generated/resources/Procedure-Appendektomie.json index 9ee073e4..3e83c0f5 100644 --- a/Resources/fsh-generated/resources/Procedure-Appendektomie.json +++ b/Resources/fsh-generated/resources/Procedure-Appendektomie.json @@ -3,7 +3,7 @@ "id": "Appendektomie", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKProzedur" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" ] }, "extension": [ diff --git a/Resources/fsh-generated/resources/RelatedPerson-ISiKAngehoerigerMustermann.json b/Resources/fsh-generated/resources/RelatedPerson-ISiKAngehoerigerMustermann.json index 30a7a165..a2c1dc37 100644 --- a/Resources/fsh-generated/resources/RelatedPerson-ISiKAngehoerigerMustermann.json +++ b/Resources/fsh-generated/resources/RelatedPerson-ISiKAngehoerigerMustermann.json @@ -3,7 +3,7 @@ "id": "ISiKAngehoerigerMustermann", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKAngehoeriger" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKAngehoeriger" ] }, "patient": { diff --git a/Resources/fsh-generated/resources/SearchParameter-Encounter-date-start.json b/Resources/fsh-generated/resources/SearchParameter-Encounter-date-start.json index 97d7f112..83b294d7 100644 --- a/Resources/fsh-generated/resources/SearchParameter-Encounter-date-start.json +++ b/Resources/fsh-generated/resources/SearchParameter-Encounter-date-start.json @@ -1,7 +1,7 @@ { "resourceType": "SearchParameter", "id": "Encounter-date-start", - "url": "https://gematik.de/fhir/isik/Basismodul/SearchParameter/Encounter-date-start", + "url": "https://gematik.de/fhir/isik/SearchParameter/Encounter-date-start", "description": "The actual start date of the Encounter (Backport from R5). The parameter cannot repeat or have multiple values.", "version": "4.0.0-rc", "status": "draft", diff --git a/Resources/fsh-generated/resources/SearchParameter-Encounter-end-date.json b/Resources/fsh-generated/resources/SearchParameter-Encounter-end-date.json index 0bdd4a6b..fb44ad2f 100644 --- a/Resources/fsh-generated/resources/SearchParameter-Encounter-end-date.json +++ b/Resources/fsh-generated/resources/SearchParameter-Encounter-end-date.json @@ -1,7 +1,7 @@ { "resourceType": "SearchParameter", "id": "Encounter-end-date", - "url": "https://gematik.de/fhir/isik/Basismodul/SearchParameter/Encounter-end-date", + "url": "https://gematik.de/fhir/isik/SearchParameter/Encounter-end-date", "description": "The actual end date of the Encounter (Backport from R5). The parameter cannot repeat or have multiple values.", "version": "4.0.0-rc", "status": "draft", diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKAbrechnungsfall.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKAbrechnungsfall.json index 06b24f85..f4130e62 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKAbrechnungsfall.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKAbrechnungsfall.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKAbrechnungsfall", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKAbrechnungsfall", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKAbrechnungsfall", "version": "4.0.0-rc", "name": "ISiKAbrechnungsfall", "status": "draft", @@ -80,7 +80,7 @@ { "code": "Identifier", "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/identifier-abrechnungsnummer" + "https://gematik.de/fhir/isik/StructureDefinition/identifier-abrechnungsnummer" ] } ], @@ -123,7 +123,7 @@ "mustSupport": true, "binding": { "strength": "required", - "valueSet": "https://gematik.de/fhir/isik/Basismodul/ValueSet/ISiKAccountType" + "valueSet": "https://gematik.de/fhir/isik/ValueSet/ISiKAccountType" } }, { diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKAngehoeriger.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKAngehoeriger.json index f71ae88d..d16c8395 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKAngehoeriger.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKAngehoeriger.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKAngehoeriger", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKAngehoeriger", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKAngehoeriger", "version": "4.0.0-rc", "name": "ISiKAngehoeriger", "status": "draft", @@ -43,7 +43,7 @@ "severity": "error", "human": "Falls die Geschlechtsangabe 'other' gewählt wird, muss die amtliche Differenzierung per Extension angegeben werden", "expression": "gender.exists() and gender='other' implies gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKAngehoeriger" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKAngehoeriger" } ] }, @@ -126,7 +126,7 @@ "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/Basismodul/StructureDefinition/ISiKAngehoeriger" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKAngehoeriger" } ], "mustSupport": true @@ -214,7 +214,7 @@ "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/Basismodul/StructureDefinition/ISiKAngehoeriger" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKAngehoeriger" } ], "mustSupport": true diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtBundle.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtBundle.json index 5b7f9825..d7bdbb26 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtBundle.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtBundle.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKBerichtBundle", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKBerichtBundle", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtBundle", "version": "4.0.0-rc", "name": "ISiKBerichtBundle", "title": "ISiKBerichtBundle", @@ -49,7 +49,7 @@ "severity": "error", "human": "All referenced Resources must be contained in the Bundle", "expression": "Bundle.entry.descendants().reference.distinct().subsetOf(%context.entry.fullUrl)", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKBerichtBundle" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtBundle" } ] }, @@ -128,7 +128,7 @@ { "code": "Composition", "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtSubSysteme" ] } ] diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtSubSysteme.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtSubSysteme.json index 0fa02c71..48b4a7e2 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtSubSysteme.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKBerichtSubSysteme.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKBerichtSubSysteme", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKBerichtSubSysteme", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtSubSysteme", "version": "4.0.0-rc", "name": "ISiKBerichtSubSysteme", "status": "draft", @@ -160,7 +160,7 @@ "severity": "warning", "human": "KDL-Code ungültig", "expression": "matches('^[A-Z]{2}[0-9]{6}$')", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtSubSysteme" } ] }, diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKBinary.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKBinary.json index 14ec448a..c469446d 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKBinary.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKBinary.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKBinary", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKBinary", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKBinary", "version": "4.0.0-rc", "name": "ISiKBinary", "title": "ISiKBinary", diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKCodeSystem.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKCodeSystem.json index 018e409c..acefcd1a 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKCodeSystem.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKCodeSystem.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKCodeSystem", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKCodeSystem", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKCodeSystem", "version": "4.0.0-rc", "name": "ISiKCodeSystem", "status": "draft", diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKDiagnose.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKDiagnose.json index 86fd4ea2..ed66fb0a 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKDiagnose.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKDiagnose.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKDiagnose", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKDiagnose", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose", "version": "4.0.0-rc", "name": "ISiKDiagnose", "status": "draft", @@ -58,7 +58,7 @@ "severity": "error", "human": "Falls eine kodierte Diagnose vorliegt muss angegeben werden durch welchen Kontakt diese Dokumentation erfolgte.", "expression": "code.coding.exists() implies encounter.exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKDiagnose" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" } ] }, @@ -103,7 +103,7 @@ "severity": "error", "human": "Entweder MUSS eine kodierte Diagnose vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt.", "expression": "coding.exists().not() implies text.exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKDiagnose" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" } ], "mustSupport": true diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKKontaktGesundheitseinrichtung.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKKontaktGesundheitseinrichtung.json index 00434a15..e386da2a 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKKontaktGesundheitseinrichtung.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKKontaktGesundheitseinrichtung.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKKontaktGesundheitseinrichtung", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung", "version": "4.0.0-rc", "name": "ISiKKontaktGesundheitseinrichtung", "status": "draft", @@ -48,56 +48,56 @@ "severity": "error", "human": "Abgeschlossene, ambulante Kontakte sollten einen Start-Zeitpunkt angeben", "expression": "status = 'finished' and class = 'AMB' implies period.start.exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung" }, { "key": "ISiK-enc-2", "severity": "error", "human": "Abgeschlossene, stationäre Kontakte sollten einen Start- und End-Zeitpunkt angeben", "expression": "status = 'finished' and class = 'IMP' implies period.start.exists() and period.end.exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung" }, { "key": "ISiK-enc-3", "severity": "error", "human": "Geplante Kontakte sollten keinen Start- oder End-Zeitpunkt angeben", "expression": "status = 'planned' implies period.exists().not()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung" }, { "key": "ISiK-enc-4", "severity": "warning", "human": "Geplante Kontakte sollten die Extensions für den geplanten Start- oder End-Zeitpunkt verwenden", "expression": "status = 'planned' implies extension.where(url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Encounter.plannedStartDate').exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung" }, { "key": "ISiK-enc-5", "severity": "error", "human": "In-Durchführung befindliche Kontakte sollten einen Start-Zeitpunkt angeben", "expression": "status = 'in-progress' implies period.start.exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung" }, { "key": "ISiK-enc-6", "severity": "error", "human": "Kontakte mit Abwesenheitsstatus sollten einen Start-Zeitpunkt angeben", "expression": "status = 'onleave' implies period.start.exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung" }, { "key": "ISiK-enc-7", "severity": "warning", "human": "Kontakte mit unbekannten Status sollten einen Start-Zeitpunkt angeben", "expression": "status = 'unknown' implies period.start.exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung" }, { "key": "ISiK-enc-8", "severity": "error", "human": "Die Rolle der assoziierten Diagnose(n) darf nicht 'Billing' sein", "expression": "diagnosis.use.all(coding.code != 'billing')", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung" } ] }, @@ -570,7 +570,7 @@ "path": "Encounter.location.physicalType", "binding": { "strength": "extensible", - "valueSet": "https://gematik.de/fhir/isik/Basismodul/ValueSet/ISiKLocationPhysicalType" + "valueSet": "https://gematik.de/fhir/isik/ValueSet/ISiKLocationPhysicalType" } }, { diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKPatient.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKPatient.json index f4146e64..83b97c56 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKPatient.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKPatient.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKPatient", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKPatient", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient", "version": "4.0.0-rc", "name": "ISiKPatient", "status": "draft", @@ -53,7 +53,7 @@ "severity": "error", "human": "Falls die Geschlechtsangabe 'other' gewählt wird, muss die amtliche Differenzierung per Extension angegeben werden", "expression": "gender.exists() and gender='other' implies gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKPatient" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient" } ] }, @@ -472,7 +472,7 @@ "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/Basismodul/StructureDefinition/ISiKPatient" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient" } ], "mustSupport": true @@ -560,7 +560,7 @@ "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/Basismodul/StructureDefinition/ISiKPatient" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient" } ], "mustSupport": true @@ -630,6 +630,11 @@ "path": "Patient.link.other", "mustSupport": true }, + { + "id": "Patient.link.other.identifier", + "path": "Patient.link.other.identifier", + "mustSupport": true + }, { "id": "Patient.link.type", "path": "Patient.link.type", diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKPersonImGesundheitsberuf.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKPersonImGesundheitsberuf.json index 7a9cd3c5..b974a51d 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKPersonImGesundheitsberuf.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKPersonImGesundheitsberuf.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKPersonImGesundheitsberuf", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKPersonImGesundheitsberuf", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKPersonImGesundheitsberuf", "version": "4.0.0-rc", "name": "ISiKPersonImGesundheitsberuf", "status": "draft", @@ -48,7 +48,7 @@ "severity": "error", "human": "Die amtliche Differenzierung der Geschlechtsangabe 'other' darf nur gefüllt sein, wenn das Geschlecht 'other' angegeben ist", "expression": "gender='other' or gender.extension('http://fhir.de/StructureDefinition/gender-amtlich-de').empty()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKPersonImGesundheitsberuf" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKPersonImGesundheitsberuf" } ] }, diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKProzedur.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKProzedur.json index 1291541b..18f8e5e7 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKProzedur.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKProzedur.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKProzedur", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKProzedur", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur", "version": "4.0.0-rc", "name": "ISiKProzedur", "status": "draft", @@ -48,14 +48,14 @@ "severity": "error", "human": "Falls die Prozedur per OPS kodiert wird, MUSS eine SNOMED-CT kodierte Category abgebildet werden", "expression": "code.coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists() implies category.coding.where(system = 'http://snomed.info/sct').exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKProzedur" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" }, { "key": "proc-ISiK-2", "severity": "error", "human": "Falls eine codierte Prozedur vorliegt MUSS eine kodierte Category abgebildet werden", "expression": "code.coding.exists() implies category.coding.exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKProzedur" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" } ] }, @@ -142,14 +142,14 @@ "severity": "error", "human": "Falls die Prozedur kodiert vorliegt, SOLL mindestens ein OPS oder SNOMED-CT Code angegeben werden. Liegt die Prozedur nicht kodiert vor SOLL Freitext angegeben werden.", "expression": "coding.exists() implies coding.where(system = 'http://snomed.info/sct').exists() or coding.where(system = 'http://fhir.de/CodeSystem/bfarm/ops').exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKProzedur" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" }, { "key": "proc-ISiK-3", "severity": "error", "human": "Entweder MUSS eine kodierte Prozedur vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt.", "expression": "coding.exists().not() implies text.exists()", - "source": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKProzedur" + "source": "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" } ], "mustSupport": true diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKValueSet.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKValueSet.json index b024f17b..e37d7812 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKValueSet.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKValueSet.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKValueSet", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKValueSet", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKValueSet", "version": "4.0.0-rc", "name": "ISiKValueSet", "status": "draft", diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisGesetzlich.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisGesetzlich.json index f2b3e92b..5b045259 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisGesetzlich.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisGesetzlich.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKVersicherungsverhaeltnisGesetzlich", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich", "version": "4.0.0-rc", "name": "ISiKVersicherungsverhaeltnisGesetzlich", "status": "draft", diff --git a/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisSelbstzahler.json b/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisSelbstzahler.json index a796ad84..20dfb00a 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisSelbstzahler.json +++ b/Resources/fsh-generated/resources/StructureDefinition-ISiKVersicherungsverhaeltnisSelbstzahler.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "ISiKVersicherungsverhaeltnisSelbstzahler", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler", + "url": "https://gematik.de/fhir/isik/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler", "version": "4.0.0-rc", "name": "ISiKVersicherungsverhaeltnisSelbstzahler", "status": "draft", diff --git a/Resources/fsh-generated/resources/StructureDefinition-identifier-abrechnungsnummer.json b/Resources/fsh-generated/resources/StructureDefinition-identifier-abrechnungsnummer.json index 96f31ca4..fbe987ef 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-identifier-abrechnungsnummer.json +++ b/Resources/fsh-generated/resources/StructureDefinition-identifier-abrechnungsnummer.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "identifier-abrechnungsnummer", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/identifier-abrechnungsnummer", + "url": "https://gematik.de/fhir/isik/StructureDefinition/identifier-abrechnungsnummer", "version": "4.0.0-rc", "name": "IdentifierAbrechnungsnummer", "title": "Identifier-Profil für die Abbildung einer Abrechnungsnummer (\"Fallnummer\") ", @@ -49,7 +49,7 @@ }, "binding": { "strength": "required", - "valueSet": "https://gematik.de/fhir/isik/Basismodul/ValueSet/ISiKAccountIdentifierType" + "valueSet": "https://gematik.de/fhir/isik/ValueSet/ISiKAccountIdentifierType" } }, { diff --git a/Resources/fsh-generated/resources/StructureDefinition-patient-merge-subscription.json b/Resources/fsh-generated/resources/StructureDefinition-patient-merge-subscription.json index 034631be..41734b8f 100644 --- a/Resources/fsh-generated/resources/StructureDefinition-patient-merge-subscription.json +++ b/Resources/fsh-generated/resources/StructureDefinition-patient-merge-subscription.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", "id": "patient-merge-subscription", - "url": "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/patient-merge-subscription", + "url": "https://gematik.de/fhir/isik/StructureDefinition/patient-merge-subscription", "name": "PatientMergeSubscription", "title": "Patient Merge Subscription", "status": "draft", @@ -32,44 +32,38 @@ "mustSupport": true }, { - "id": "Subscription.criteria", - "path": "Subscription.criteria", - "patternString": "https://gematik.de/fhir/isik/v4/Basismodul/topic/patient-merge" + "id": "Subscription.reason", + "path": "Subscription.reason", + "mustSupport": true }, { - "id": "Subscription.criteria.extension:filterCriteria", - "path": "Subscription.criteria.extension", - "sliceName": "filterCriteria", - "max": "0" + "id": "Subscription.criteria", + "path": "Subscription.criteria", + "patternString": "https://gematik.de/fhir/isik/SubscriptionTopic/patient-merge" }, { "id": "Subscription.channel.type", "path": "Subscription.channel.type", + "mustSupport": true, "binding": { "strength": "required", - "valueSet": "https://gematik.de/fhir/isik/Basismodul/ValueSet/RestAndWSSubscriptionChannel" + "valueSet": "https://gematik.de/fhir/isik/ValueSet/RestAndWSSubscriptionChannelType" } }, { "id": "Subscription.channel.payload", "path": "Subscription.channel.payload", - "patternCode": "application/fhir+json" - }, - { - "id": "Subscription.channel.payload.extension:content", - "path": "Subscription.channel.payload.extension", - "sliceName": "content" + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "https://gematik.de/fhir/isik/ValueSet/FhirMimeTypeVS" + } }, { - "id": "Subscription.channel.payload.extension:content.value[x]:valueCode", - "path": "Subscription.channel.payload.extension.value[x]", - "sliceName": "valueCode", - "type": [ - { - "code": "code" - } - ], - "patternCode": "id-only" + "id": "Subscription.channel.header", + "path": "Subscription.channel.header", + "short": "Falls eine REST-Enpunkt einen Authorization-Header benötigt, kann dieser hier gesetzt werden", + "mustSupport": true } ] } diff --git a/Resources/fsh-generated/resources/Subscription-PatientMergeSubscriptionExample.json b/Resources/fsh-generated/resources/Subscription-PatientMergeSubscriptionExample.json new file mode 100644 index 00000000..99c33fc2 --- /dev/null +++ b/Resources/fsh-generated/resources/Subscription-PatientMergeSubscriptionExample.json @@ -0,0 +1,28 @@ +{ + "resourceType": "Subscription", + "id": "PatientMergeSubscriptionExample", + "meta": { + "profile": [ + "https://gematik.de/fhir/isik/StructureDefinition/patient-merge-subscription" + ] + }, + "criteria": "https://gematik.de/fhir/isik/SubscriptionTopic/patient-merge", + "channel": { + "type": "rest-hook", + "endpoint": "http://localhost:8081/fhir/Bundle", + "payload": "application/fhir+json", + "_payload": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content", + "valueCode": "full-resource" + } + ] + }, + "header": [ + "Authorization: Bearer xxxxxxxxxx" + ] + }, + "status": "requested", + "reason": "Patient merge subscription" +} diff --git a/Resources/fsh-generated/resources/ValueSet-DiagnosesSCT.json b/Resources/fsh-generated/resources/ValueSet-DiagnosesSCT.json index cd6561c3..8c10a87d 100644 --- a/Resources/fsh-generated/resources/ValueSet-DiagnosesSCT.json +++ b/Resources/fsh-generated/resources/ValueSet-DiagnosesSCT.json @@ -4,7 +4,7 @@ "name": "DiagnosesSCT", "id": "DiagnosesSCT", "description": "Enthaelt alle SNOMED Clinical finding, Event und Situation with explicit context codes", - "url": "https://gematik.de/fhir/isik/Basismodul/ValueSet/DiagnosesSCT", + "url": "https://gematik.de/fhir/isik/ValueSet/DiagnosesSCT", "version": "4.0.0-rc", "experimental": false, "publisher": "gematik GmbH", diff --git a/Resources/fsh-generated/resources/ValueSet-FhirMimeTypeVS.json b/Resources/fsh-generated/resources/ValueSet-FhirMimeTypeVS.json new file mode 100644 index 00000000..3c7a5bce --- /dev/null +++ b/Resources/fsh-generated/resources/ValueSet-FhirMimeTypeVS.json @@ -0,0 +1,24 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "FhirMimeTypeVS", + "id": "FhirMimeTypeVS", + "title": "FhirMimeTypeVS", + "description": "FHIR Mime Types", + "url": "https://gematik.de/fhir/isik/ValueSet/FhirMimeTypeVS", + "compose": { + "include": [ + { + "system": "urn:ietf:bcp:13", + "concept": [ + { + "code": "application/fhir+json" + }, + { + "code": "application/fhir+xml" + } + ] + } + ] + } +} diff --git a/Resources/fsh-generated/resources/ValueSet-ISiKAccountIdentifierType.json b/Resources/fsh-generated/resources/ValueSet-ISiKAccountIdentifierType.json index 5ebb3526..adb6e033 100644 --- a/Resources/fsh-generated/resources/ValueSet-ISiKAccountIdentifierType.json +++ b/Resources/fsh-generated/resources/ValueSet-ISiKAccountIdentifierType.json @@ -4,7 +4,7 @@ "name": "ISiKAccountIdentifierType", "id": "ISiKAccountIdentifierType", "title": "ISiKAccountIdentifierType", - "url": "https://gematik.de/fhir/isik/Basismodul/ValueSet/ISiKAccountIdentifierType", + "url": "https://gematik.de/fhir/isik/ValueSet/ISiKAccountIdentifierType", "version": "4.0.0-rc", "experimental": false, "publisher": "gematik GmbH", diff --git a/Resources/fsh-generated/resources/ValueSet-ISiKAccountType.json b/Resources/fsh-generated/resources/ValueSet-ISiKAccountType.json index 87960207..54766dcc 100644 --- a/Resources/fsh-generated/resources/ValueSet-ISiKAccountType.json +++ b/Resources/fsh-generated/resources/ValueSet-ISiKAccountType.json @@ -4,7 +4,7 @@ "name": "ISiKAccountType", "id": "ISiKAccountType", "title": "ISiKAccountType", - "url": "https://gematik.de/fhir/isik/Basismodul/ValueSet/ISiKAccountType", + "url": "https://gematik.de/fhir/isik/ValueSet/ISiKAccountType", "version": "4.0.0-rc", "experimental": false, "publisher": "gematik GmbH", diff --git a/Resources/fsh-generated/resources/ValueSet-ISiKLocationPhysicalType.json b/Resources/fsh-generated/resources/ValueSet-ISiKLocationPhysicalType.json index e4c9e1fe..cb4e2def 100644 --- a/Resources/fsh-generated/resources/ValueSet-ISiKLocationPhysicalType.json +++ b/Resources/fsh-generated/resources/ValueSet-ISiKLocationPhysicalType.json @@ -3,7 +3,7 @@ "status": "draft", "name": "ISiKLocationPhysicalType", "id": "ISiKLocationPhysicalType", - "url": "https://gematik.de/fhir/isik/Basismodul/ValueSet/ISiKLocationPhysicalType", + "url": "https://gematik.de/fhir/isik/ValueSet/ISiKLocationPhysicalType", "version": "4.0.0-rc", "experimental": false, "publisher": "gematik GmbH", diff --git a/Resources/fsh-generated/resources/ValueSet-ISiKValueSetExample.json b/Resources/fsh-generated/resources/ValueSet-ISiKValueSetExample.json index 1cfdc2b2..cbd352fb 100644 --- a/Resources/fsh-generated/resources/ValueSet-ISiKValueSetExample.json +++ b/Resources/fsh-generated/resources/ValueSet-ISiKValueSetExample.json @@ -3,7 +3,7 @@ "id": "ISiKValueSetExample", "meta": { "profile": [ - "https://gematik.de/fhir/isik/Basismodul/StructureDefinition/ISiKValueSet" + "https://gematik.de/fhir/isik/StructureDefinition/ISiKValueSet" ] }, "useContext": [ diff --git a/Resources/fsh-generated/resources/ValueSet-ProzedurenCodesSCT.json b/Resources/fsh-generated/resources/ValueSet-ProzedurenCodesSCT.json index 28a5d76e..d3e01d38 100644 --- a/Resources/fsh-generated/resources/ValueSet-ProzedurenCodesSCT.json +++ b/Resources/fsh-generated/resources/ValueSet-ProzedurenCodesSCT.json @@ -4,7 +4,7 @@ "name": "ProzedurenCodesSCT", "id": "ProzedurenCodesSCT", "description": "Enthaelt alle SNOMED Procedure Codes", - "url": "https://gematik.de/fhir/isik/Basismodul/ValueSet/ProzedurenCodesSCT", + "url": "https://gematik.de/fhir/isik/ValueSet/ProzedurenCodesSCT", "version": "4.0.0-rc", "experimental": false, "publisher": "gematik GmbH", diff --git a/Resources/fsh-generated/resources/ValueSet-ProzedurenKategorieSCT.json b/Resources/fsh-generated/resources/ValueSet-ProzedurenKategorieSCT.json index 7819bde3..dbab006a 100644 --- a/Resources/fsh-generated/resources/ValueSet-ProzedurenKategorieSCT.json +++ b/Resources/fsh-generated/resources/ValueSet-ProzedurenKategorieSCT.json @@ -4,7 +4,7 @@ "name": "ProzedurenKategorieSCT", "id": "ProzedurenKategorieSCT", "description": "Enthaelt alle SNOMED Codes für ein Mapping der OPS Klassentitel", - "url": "https://gematik.de/fhir/isik/Basismodul/ValueSet/ProzedurenKategorieSCT", + "url": "https://gematik.de/fhir/isik/ValueSet/ProzedurenKategorieSCT", "version": "4.0.0-rc", "experimental": false, "publisher": "gematik GmbH", diff --git a/Resources/fsh-generated/resources/ValueSet-RestAndWSSubscriptionChannel.json b/Resources/fsh-generated/resources/ValueSet-RestAndWSSubscriptionChannelType.json similarity index 54% rename from Resources/fsh-generated/resources/ValueSet-RestAndWSSubscriptionChannel.json rename to Resources/fsh-generated/resources/ValueSet-RestAndWSSubscriptionChannelType.json index a393278b..179f519f 100644 --- a/Resources/fsh-generated/resources/ValueSet-RestAndWSSubscriptionChannel.json +++ b/Resources/fsh-generated/resources/ValueSet-RestAndWSSubscriptionChannelType.json @@ -1,11 +1,11 @@ { "resourceType": "ValueSet", "status": "draft", - "name": "RestAndWSSubscriptionChannel", - "id": "RestAndWSSubscriptionChannel", - "title": "RestAndWSSubscriptionChannel", - "description": "Subscription Channel for ISiK", - "url": "https://gematik.de/fhir/isik/Basismodul/ValueSet/RestAndWSSubscriptionChannel", + "name": "RestAndWSSubscriptionChannelType", + "id": "RestAndWSSubscriptionChannelType", + "title": "RestAndWSSubscriptionChannelType", + "description": "Subscription Channel Type for ISiK", + "url": "https://gematik.de/fhir/isik/ValueSet/RestAndWSSubscriptionChannelType", "compose": { "include": [ { diff --git a/Resources/input/fsh/ISiKCapabilityStatement.fsh b/Resources/input/fsh/ISiKCapabilityStatement.fsh index d2068cf6..4e258e8d 100644 --- a/Resources/input/fsh/ISiKCapabilityStatement.fsh +++ b/Resources/input/fsh/ISiKCapabilityStatement.fsh @@ -16,7 +16,7 @@ Usage: #definition * rest.resource[0].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #SHALL * rest.resource[=].type = #Patient -* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPatient" +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient" * rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation * rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #read @@ -142,7 +142,7 @@ Usage: #definition * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #SHALL * rest.resource[=].type = #Encounter -* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKKontaktGesundheitseinrichtung" +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung" * rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation * rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #read @@ -197,12 +197,12 @@ Usage: #definition * rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation * rest.resource[=].searchParam[=].extension.valueCode = #SHALL * rest.resource[=].searchParam[=].name = "date-start" -* rest.resource[=].searchParam[=].definition = "https://gematik.de/fhir/isik/v3/Basismodul/SearchParameter/Encounter-date-start" +* rest.resource[=].searchParam[=].definition = "https://gematik.de/fhir/isik/SearchParameter/Encounter-date-start" * rest.resource[=].searchParam[=].type = #date * rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation * rest.resource[=].searchParam[=].extension.valueCode = #SHALL * rest.resource[=].searchParam[=].name = "end-date" -* rest.resource[=].searchParam[=].definition = "https://gematik.de/fhir/isik/v3/Basismodul/SearchParameter/Encounter-end-date" +* rest.resource[=].searchParam[=].definition = "https://gematik.de/fhir/isik/SearchParameter/Encounter-end-date" * rest.resource[=].searchParam[=].type = #date * rest.resource[=].searchParam[+].extension.url = $capabilitystatement-expectation * rest.resource[=].searchParam[=].extension.valueCode = #MAY @@ -251,7 +251,7 @@ Usage: #definition * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #SHALL * rest.resource[=].type = #Account -* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAbrechnungsfall" +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKAbrechnungsfall" * rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation * rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #read @@ -293,7 +293,7 @@ Usage: #definition * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #SHALL * rest.resource[=].type = #Condition -* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKDiagnose" +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" * rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation * rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #read @@ -360,7 +360,7 @@ Usage: #definition * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #SHALL * rest.resource[=].type = #Procedure -* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKProzedur" +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKProzedur" * rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation * rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #read @@ -427,8 +427,8 @@ Usage: #definition * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #SHALL * rest.resource[=].type = #Coverage -* rest.resource[=].supportedProfile[0] = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich" -* rest.resource[=].supportedProfile[+] = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler" +* rest.resource[=].supportedProfile[0] = "https://gematik.de/fhir/isik/StructureDefinition/ISiKVersicherungsverhaeltnisGesetzlich" +* rest.resource[=].supportedProfile[+] = "https://gematik.de/fhir/isik/StructureDefinition/ISiKVersicherungsverhaeltnisSelbstzahler" * rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation * rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #read @@ -490,7 +490,7 @@ Usage: #definition * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #SHALL * rest.resource[=].type = #RelatedPerson -* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKAngehoeriger" +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKAngehoeriger" * rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation * rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #read @@ -549,7 +549,7 @@ Usage: #definition * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #SHALL * rest.resource[=].type = #Practitioner -* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKPersonImGesundheitsberuf" +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKPersonImGesundheitsberuf" * rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation * rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #read @@ -599,7 +599,7 @@ Usage: #definition * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #SHALL * rest.resource[=].type = #CodeSystem -* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKCodeSystem" +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKCodeSystem" * rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation * rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #read @@ -639,7 +639,7 @@ Usage: #definition * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #SHALL * rest.resource[=].type = #ValueSet -* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKValueSet" +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKValueSet" * rest.resource[=].interaction[0].extension.url = $capabilitystatement-expectation * rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #read @@ -679,11 +679,11 @@ Usage: #definition * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #MAY * rest.resource[=].type = #Composition -* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" +* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtSubSysteme" * rest.resource[+].extension.url = $capabilitystatement-expectation * rest.resource[=].extension.valueCode = #SHALL * rest.resource[=].type = #Bundle -* rest.resource[=].supportedProfile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtBundle" +* rest.resource[=].supportedProfile[+] = "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtBundle" //TopicBased Subscription Backport (https://hl7.org/fhir/uv/subscriptions-backport/) * rest.resource[+].extension.url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -693,31 +693,25 @@ Usage: #definition * rest.resource[=].type = #Subscription * rest.resource[=].supportedProfile = Canonical(PatientMergeSubscription) * rest.resource[=].supportedProfile.extension.url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].supportedProfile.extension.valueCode = #SHOULD +* rest.resource[=].supportedProfile.extension.valueCode = #SHALL * rest.resource[=].interaction[+].extension.url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #read * rest.resource[=].interaction[+].extension.url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension.valueCode = #SHOULD +* rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #create * rest.resource[=].interaction[+].extension.url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension.valueCode = #SHOULD +* rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #update * rest.resource[=].interaction[+].extension.url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension.valueCode = #SHOULD +* rest.resource[=].interaction[=].extension.valueCode = #SHALL * rest.resource[=].interaction[=].code = #delete -* rest.resource[=].searchParam[+].extension.url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].searchParam[=].extension.valueCode = #SHALL -* rest.resource[=].searchParam[=].name = "url" -* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Subscription-url" -* rest.resource[=].searchParam[=].type = #uri -* rest.resource[=].searchParam[+].extension.url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].searchParam[=].extension.valueCode = #SHOULD -* rest.resource[=].searchParam[=].name = "status" -* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Subscription-status" -* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].operation[+].extension.url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].operation[=].extension.valueCode = #MAY +* rest.resource[=].operation[=].name = "$get-ws-binding-token" +* rest.resource[=].operation[=].definition = "http://hl7.org/fhir/uv/subscriptions-backport/OperationDefinition/backport-subscription-get-ws-binding-token" * document.extension.url = $capabilitystatement-expectation * document.extension.valueCode = #SHALL * document.mode = #consumer -* document.profile = "https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtBundle" +* document.profile = "https://gematik.de/fhir/isik/StructureDefinition/ISiKBerichtBundle" diff --git a/Resources/input/fsh/ISiKPatient.fsh b/Resources/input/fsh/ISiKPatient.fsh index 437f2dc1..8e2c2655 100644 --- a/Resources/input/fsh/ISiKPatient.fsh +++ b/Resources/input/fsh/ISiKPatient.fsh @@ -107,6 +107,7 @@ Description: "Dieses Profil beschreibt die Nutzung von administrativen Patienten * link MS * ^comment = "Dieses und untergoerdnete Elemente MÜSSEN bei einem erfolgten Patient merge entsprechend der Festlegungen im Implementation Guide befüllt werden." * other MS + * identifier MS * type MS Instance: PatientinMusterfrau diff --git a/Resources/input/fsh/IsiKPatientMerge.fsh b/Resources/input/fsh/IsiKPatientMerge.fsh new file mode 100644 index 00000000..49db80f2 --- /dev/null +++ b/Resources/input/fsh/IsiKPatientMerge.fsh @@ -0,0 +1,125 @@ + +Profile: PatientMergeSubscription +Parent: BackportSubscription +Id: patient-merge-subscription +Title: "Patient Merge Subscription" +Description: "Patient Merge Subscription" +* status MS +* reason MS +* criteria = $patient-merge-topic +* channel MS + * type MS + * type from RestAndWSSubscriptionChannelType + * endpoint MS + * payload MS + * payload from FhirMimeTypeVS + * header MS + * ^short = "Falls eine REST-Enpunkt einen Authorization-Header benötigt, kann dieser hier gesetzt werden" + +Instance: PatientMergeSubscriptionExample +InstanceOf: PatientMergeSubscription +Usage: #example +* status = #requested +* reason = "Patient merge subscription" +* criteria = "https://gematik.de/fhir/isik/SubscriptionTopic/patient-merge" +* channel + * type = #rest-hook + * endpoint = "http://localhost:8081/fhir/Bundle" + * payload = #application/fhir+json + * extension[content].valueCode = #full-resource + * header = "Authorization: Bearer xxxxxxxxxx" + +ValueSet: RestAndWSSubscriptionChannelType +Id: RestAndWSSubscriptionChannelType +Title: "RestAndWSSubscriptionChannelType" +Description: "Subscription Channel Type for ISiK" +* SubscriptionChannelType#rest-hook +* SubscriptionChannelType#websocket + +ValueSet: FhirMimeTypeVS +Id: FhirMimeTypeVS +Title: "FhirMimeTypeVS" +Description: "FHIR Mime Types" +* urn:ietf:bcp:13#application/fhir+json +* urn:ietf:bcp:13#application/fhir+xml + +Instance: DorisQuelle +InstanceOf: ISiKPatient +Usage: #example +* identifier[VersichertenId-GKV].system = "http://fhir.de/sid/gkv/kvid-10" +* identifier[VersichertenId-GKV].value = "A123456789" +* identifier[Patientennummer].system = "https://fhir.krankenhaus.example/sid/PID" +* identifier[Patientennummer].value = "654321" +* active = false +* name[Name] + * family = "Duplikat" + * given = "Doris" +* gender = #female +* birthDate = "1964-08-12" + +Instance: DorisZiel +InstanceOf: ISiKPatient +Usage: #example +* identifier[VersichertenId-GKV].system = "http://fhir.de/sid/gkv/kvid-10" +* identifier[VersichertenId-GKV].value = "A123456789" +* identifier[Patientennummer].system = "https://fhir.krankenhaus.example/sid/PID" +* identifier[Patientennummer].value = "123456" +* active = true +* name[Name] + * family = "Duplikat" + * given = "Doris" +* gender = #female +* birthDate = "1964-08-12" + +Instance: DorisResultat +InstanceOf: ISiKPatient +Usage: #example +* identifier[VersichertenId-GKV].system = "http://fhir.de/sid/gkv/kvid-10" +* identifier[VersichertenId-GKV].value = "A123456789" +* identifier[Patientennummer].system = "https://fhir.krankenhaus.example/sid/PID" +* identifier[Patientennummer].value = "123456" +* active = true +* name[Name] + * family = "Duplikat" + * given = "Doris" +* gender = #female +* birthDate = "1964-08-12" +* link + * other.identifier + * system = "https://fhir.krankenhaus.example/sid/PID" + * value = "654321" + * type = #replaces + +Instance: SubscriptionNotificationBundleExample +InstanceOf: Bundle +Usage: #example +* type = #history +* entry[+].fullUrl = "urn:uuid:9bb6fcbd-8391-4e35-bd4c-620a2db47af0" +* entry[=].resource = SubscriptionNotification +* entry[+].fullUrl = "http://example.com/fhir/Patient/DorisQuelle/_history/2" +* entry[=].resource = DorisQuelle +* entry[=].request.method = #PUT +* entry[=].request.url = "Patient/DorisQuelle" + +Instance: SubscriptionNotification +InstanceOf: Parameters +Usage: #inline +* meta.profile = "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4" +* parameter[+].name = "subscription" +* parameter[=].valueReference = Reference(Subscription/1) +* parameter[+].name = "topic" +* parameter[=].valueCanonical = "https://gematik.de/fhir/isik/SubscriptionTopic/patient-merge" +* parameter[+].name = "status" +* parameter[=].valueCode = #active +* parameter[+].name = "type" +* parameter[=].valueCode = #event-notification +* parameter[+].name = "events-since-subscription-start" +* parameter[=].valueString = "1" +* parameter[+].name = "notification-event" +* parameter[=].part[0].name = "event-number" +* parameter[=].part[=].valueString = "1" +* parameter[=].part[+].name = "timestamp" +* parameter[=].part[=].valueDate = "2024-02-22" +* parameter[=].part[+].name = "focus" +* parameter[=].part[=].valueReference = Reference(DorisQuelle) + diff --git a/Resources/input/fsh/aliases.fsh b/Resources/input/fsh/aliases.fsh index 0624ff14..c4c327c2 100644 --- a/Resources/input/fsh/aliases.fsh +++ b/Resources/input/fsh/aliases.fsh @@ -36,4 +36,4 @@ Alias: $ProzedurenCodesSCT = https://gematik.de/fhir/isik/v3/Basismodul/ValueSet Alias: $capabilitystatement-expectation = http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation Alias: $kvid10 = http://fhir.de/sid/gkv/kvid-10 Alias: $kvnr30 = http://fhir.de/sid/gkv/kvnr-30 -Alias: $patient-merge-topic = https://gematik.de/fhir/isik/v4/Basismodul/topic/patient-merge \ No newline at end of file +Alias: $patient-merge-topic = https://gematik.de/fhir/isik/SubscriptionTopic/patient-merge \ No newline at end of file diff --git a/Resources/input/fsh/patient-merge.fsh b/Resources/input/fsh/patient-merge.fsh deleted file mode 100644 index d5c8e2e7..00000000 --- a/Resources/input/fsh/patient-merge.fsh +++ /dev/null @@ -1,90 +0,0 @@ -Instance: DorisQuelle -InstanceOf: ISiKPatient -Usage: #example -* identifier[VersichertenId-GKV].type = $identifier-type-de-basis#GKV -* identifier[VersichertenId-GKV].system = "http://fhir.de/sid/gkv/kvid-10" -* identifier[VersichertenId-GKV].value = "A123456789" -* identifier[Patientennummer].type = $v2-0203#MR -* identifier[Patientennummer].system = "https://fhir.krankenhaus.example/sid/PID" -* identifier[Patientennummer].value = "654321" -* active = false -* name[Name] - * family = "Duplikat" - * given = "Doris" -* gender = #female -* birthDate = "1964-08-12" - -Instance: DorisZiel -InstanceOf: ISiKPatient -Usage: #example -* identifier[VersichertenId-GKV].type = $identifier-type-de-basis#GKV -* identifier[VersichertenId-GKV].system = "http://fhir.de/sid/gkv/kvid-10" -* identifier[VersichertenId-GKV].value = "A123456789" -* identifier[Patientennummer].type = $v2-0203#MR -* identifier[Patientennummer].system = "https://fhir.krankenhaus.example/sid/PID" -* identifier[Patientennummer].value = "123456" -* active = true -* name[Name] - * family = "Duplikat" - * given = "Doris" -* gender = #female -* birthDate = "1964-08-12" - -Instance: DorisObsolet -InstanceOf: ISiKPatient -Usage: #example -* identifier[VersichertenId-GKV].type = $identifier-type-de-basis#GKV -* identifier[VersichertenId-GKV].system = "http://fhir.de/sid/gkv/kvid-10" -* identifier[VersichertenId-GKV].value = "A123456789" -* identifier[Patientennummer].type = $v2-0203#MR -* identifier[Patientennummer].system = "https://fhir.krankenhaus.example/sid/PID" -* identifier[Patientennummer].value = "654321" -* active = false -* name[Name] - * family = "Duplikat" - * given = "Doris" -* gender = #female -* birthDate = "1964-08-12" -* link - * other = Reference(DorisResultat) - * type = #replaced-by - - -Instance: DorisResultat -InstanceOf: ISiKPatient -Usage: #example -* identifier[VersichertenId-GKV].type = $identifier-type-de-basis#GKV -* identifier[VersichertenId-GKV].system = "http://fhir.de/sid/gkv/kvid-10" -* identifier[VersichertenId-GKV].value = "A123456789" -* identifier[Patientennummer].type = $v2-0203#MR -* identifier[Patientennummer].system = "https://fhir.krankenhaus.example/sid/PID" -* identifier[Patientennummer].value = "123456" -* active = true -* name[Name] - * family = "Duplikat" - * given = "Doris" -* gender = #female -* birthDate = "1964-08-12" -* link - * other = Reference(DorisObsolet) - * type = #replaces - -Profile: PatientMergeSubscription -Parent: BackportSubscription -Id: patient-merge-subscription -Title: "Patient Merge Subscription" -Description: "Patient Merge Subscription" -* status MS -* criteria = $patient-merge-topic - * extension[filterCriteria] 0..0 -* channel - * type from RestAndWSSubscriptionChannel - * payload = #application/fhir+json - * extension[content].valueCode = #id-only - -ValueSet: RestAndWSSubscriptionChannel -Id: RestAndWSSubscriptionChannel -Title: "RestAndWSSubscriptionChannel" -Description: "Subscription Channel for ISiK" -* SubscriptionChannelType#rest-hook -* SubscriptionChannelType#websocket \ No newline at end of file diff --git a/Resources/sushi-config.yaml b/Resources/sushi-config.yaml index 1c1e5b35..c19cbc6b 100644 --- a/Resources/sushi-config.yaml +++ b/Resources/sushi-config.yaml @@ -1,4 +1,4 @@ -canonical: https://gematik.de/fhir/isik/Basismodul +canonical: https://gematik.de/fhir/isik fhirVersion: 4.0.1 FSHOnly: true applyExtensionMetadataToRoot: false