Skip to content

Commit

Permalink
Merge branch 'rc/main-stufe-4' into feature/ISIK-Organization-PTData-521
Browse files Browse the repository at this point in the history
  • Loading branch information
f-peverali committed Mar 20, 2024
2 parents 39f1f3f + 0500238 commit 28e5b20
Show file tree
Hide file tree
Showing 45 changed files with 1,104 additions and 545 deletions.
3 changes: 1 addition & 2 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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.8.0
# Installieren der notwendige Tools
# Add Microsoft's .NET SDK repository and install .NET SDK
RUN wget https://dot.net/v1/dotnet-install.sh \
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/RenderAllDiagrams.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
paths:
- '**/Material/images/src/**/*.puml'
- '**/Material/images/src/**/*.drawio'
- '**/Material/images/src/**/*.bpmn'
branches-ignore:
- 'main**'

Expand Down Expand Up @@ -36,7 +37,8 @@ jobs:
# Download plantUML jar
- name: Download plantuml file
run: |
wget -O plantuml.jar "https://github.com/plantuml/plantuml/releases/latest/download/plantuml.jar"
wget -O plantuml.jar "https://github.com/plantuml/plantuml/releases/download/v1.2024.2/plantuml.jar"
# Clean Folder
- name: Ensure and clean folder
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ on:
branches:
- 'main**'

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:

Expand Down
42 changes: 42 additions & 0 deletions ImplementationGuide/Implementierungsleitfaden_ISiKBasismodul.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,11 @@
"nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Rest.md",
"title": "REST-API",
"generation": "markdown"
},
{
"nameUrl": "ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Patient-merge.md",
"title": "Patient-Merge",
"generation": "markdown"
}
]
},
Expand Down Expand Up @@ -735,6 +740,43 @@
"generation": "markdown"
}
]
},
{
"nameUrl": "ImplementationGuide/markdown/Datenobjekte/Datenobjekte_Subscription.md",
"title": "Subscription patient-merge (R5 Backport Subscription)",
"generation": "markdown",
"page": [
{
"nameUrl": "ImplementationGuide/markdown/Subscription/Subscription_Motivation.md",
"title": "Motivation",
"generation": "markdown"
},
{
"nameUrl": "ImplementationGuide/markdown/Subscription/Subscription_Kompatibilitaet.md",
"title": "Kompatibilität",
"generation": "markdown"
},
{
"nameUrl": "ImplementationGuide/markdown/Subscription/Subscription_Profil.md",
"title": "Profil",
"generation": "markdown"
},
{
"nameUrl": "ImplementationGuide/markdown/Subscription/Subscription_AnmerkungenZuDenMustSupportFeldern.md",
"title": "Anmerkungen",
"generation": "markdown"
},
{
"nameUrl": "ImplementationGuide/markdown/Subscription/Subscription_Interaktionen.md",
"title": "Interaktionen",
"generation": "markdown"
},
{
"nameUrl": "ImplementationGuide/markdown/Subscription/Subscription_Beispiele.md",
"title": "Beispiele",
"generation": "markdown"
}
]
}
]
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
### Motivation

Die Möglichkeit, auf eine Übersicht der Allergien und Unverträglichkeiten eines Patienten zuzugreifen, ist eine wichtige Funktionen im klinischen Behandlungsablauf. Dies gilt insbesondere, aber nicht ausschließlich, im Bereich der Arzneimitteltherapiesicherheit.
Motivierender Use-Case zur Einführung dieser Profile ist die [Arzneitmitteltherapiesicherheit im Krankenhaus - AMTS](https://simplifier.net/guide/isik-medikation-v4/ImplementationGuide-markdown-UebergreifendeUseCases-AMTS).

In FHIR werden Allergien und Unverträglichkeiten mit der [AllergyIntolerance](https://hl7.org/fhir/R4/allergyintolerance.html)-Ressource repräsentiert.

Expand Down
2 changes: 1 addition & 1 deletion ImplementationGuide/markdown/CapabilityStatement.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ Canonical: ```https://gematik.de/fhir/isik/CapabilityStatement/core-server```

[Link Simplifier Profil Übersicht](https://gematik.de/fhir/isik/CapabilityStatement/basis-server)

{{render:https://gematik.de/fhir/isik/CapabilityStatement/basis-server}}
{{render:https://gematik.de/fhir/isik/CapabilityStatement/ISiKCapabilityStatementBasisServer}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Subscription patient-merge [(R5 Backport Subscription)](https://hl7.org/fhir/uv/subscriptions-backport/components.html)

---
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
### Motivation

Viele medizinischen Entscheidungen benötigen Informationen zu den Lebensumständen eines Patienten. Hierzu gehören eine aktuelle Schwangerschaft, Raucherstatus sowie der Alkoholabususstatus.
Motivierender use-case zur Einführung dieser Profile ist der Arzneimitteltherapiesicherheit (AMTS) use-case.
Motivierender Use-Case zur Einführung dieser Profile ist die [Arzneitmitteltherapiesicherheit im Krankenhaus - AMTS](https://simplifier.net/guide/isik-medikation-v4/ImplementationGuide-markdown-UebergreifendeUseCases-AMTS).

In FHIR werden Untersuchungen, bzw. Beobachtungen als [`Observation`](https://hl7.org/fhir/R4/observation.html)-Ressource repräsentiert.

Expand Down
1 change: 1 addition & 0 deletions ImplementationGuide/markdown/ReleaseNotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Version: 4.0.0-rc
Datum: 11.03.2024 (WIP)

* Ersetzen des ISiK-spezifischen Profils für IdentifierAbrechnungsnummer mit Profil aus Basisprofil-DE https://github.com/gematik/spec-ISiK-Basismodul/pull/381
* Hinzufügen MustSupport für Patient.link & patient-merge Subscription(Topic) https://github.com/gematik/spec-ISiK-Basismodul/pull/395
* Abkündigen der Slices zu VersichertenId-GKV und ersetzen mit generischer Versicherten-ID : https://github.com/gematik/spec-ISiK-Basismodul/pull/382/files

----
Expand Down
Original file line number Diff line number Diff line change
@@ -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 wird nur folgendes SubscriptionTopic 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)
Original file line number Diff line number Diff line change
@@ -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}}

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
### Interaktionen

Für die Ressource Subscription SOLL die REST-Interaktion "READ", "CREATE", "UPDATE", "DELETE" implementiert werden, insofern der festgelegte Lösungsansatz zu 'Patient merge Notification' implementiert wird.

## Operations

Bei der Umsetzung des Subscription Channel Type `websocket` SOLL die Operation [`$get-ws-binding-token`](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/OperationDefinition-backport-subscription-get-ws-binding-token.html) supported werden.

Siehe auch: {{pagelink:ImplementationGuide/markdown/CapabilityStatement.md, text:CapabilityStatement}} & {{pagelink:ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Patient-merge.md, text:Patient merge und Notification}}

---
Original file line number Diff line number Diff line change
@@ -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.

---


Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Motivation

Subscription ist eine FHIR Ressource um als Client-System Benachrichtigungen über Events auf dem FHIR Server anzufragen. Der Subscription Mechanismus in FHIR R4 ist nicht geeignet, um alle relevanten Events (hier im Speziellen das Mergen von Patienten) zu unterstützen. Daher basiert das ISiK Subscription-Profil auf dem [Subscriptions R5 Backport Profil von HL7](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription.html).

Siehe auch: {{pagelink:ImplementationGuide/markdown/UebergreifendeFestlegungen/UebergreifendeFestlegungen_Patient-merge.md, text:Übergreifende Festlegungen Patient-merge}}

Um als Subsystem über ein Patienten-Merge-Event informiert zu werden, KANN der FHIR Subscription Mechanismus gemäß des [Subscriptions R5 Backport IGs von HL7](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/index.html) genutzt werden.

---
11 changes: 11 additions & 0 deletions ImplementationGuide/markdown/Subscription/Subscription_Profil.md
Original file line number Diff line number Diff line change
@@ -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```
---
Loading

0 comments on commit 28e5b20

Please sign in to comment.