Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/workflows/GenerateImagesFromSrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,18 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3

- name: Check plantuml sources
id: check_plantuml
run: |
if [ -d "./src/plantuml" ] && find ./src/plantuml -type f -name '*.puml' | grep -q .; then
echo "has_plantuml=true" >> "$GITHUB_OUTPUT"
else
echo "has_plantuml=false" >> "$GITHUB_OUTPUT"
fi

# Installs Java distribution for running the plantUML jar
- name: Install Java
if: steps.check_plantuml.outputs.has_plantuml == 'true'
uses: actions/setup-java@v3
with:
distribution: 'temurin'
Expand All @@ -29,15 +39,18 @@ jobs:

# Install graphviz for plantuml
- name: Setup Graphviz
if: steps.check_plantuml.outputs.has_plantuml == 'true'
uses: ts-graphviz/setup-graphviz@v1

# Download plantUML jar
- name: Download plantuml file
if: steps.check_plantuml.outputs.has_plantuml == 'true'
run: |
wget -O plantuml.jar "https://github.com/plantuml/plantuml/releases/download/v1.2023.10/plantuml-1.2023.10.jar"

# Runs a single command using the runners shell
- name: Generate images
if: steps.check_plantuml.outputs.has_plantuml == 'true'
run: |
imagedir=images/diagrams
mkdir -p $imagedir
Expand Down Expand Up @@ -71,9 +84,19 @@ jobs:
#cat "${fullname}" | java -jar plantuml.jar -p -tsvg -checkmetadata > "${outdir}/${base}.svg"
done
tree ./images

- name: Check drawio sources
id: check_drawio
run: |
if [ -d "./src/drawio" ] && find ./src/drawio -type f -name '*.drawio' | grep -q .; then
echo "has_drawio=true" >> "$GITHUB_OUTPUT"
else
echo "has_drawio=false" >> "$GITHUB_OUTPUT"
fi

# creates png files from draw io image files
- name: Export drawio files as png
if: steps.check_drawio.outputs.has_drawio == 'true'
uses: rlespinasse/drawio-export-action@v2
with:
path: ./src/drawio/
Expand All @@ -83,6 +106,7 @@ jobs:

# creates svg files from draw io image files
- name: Export drawio files
if: steps.check_drawio.outputs.has_drawio == 'true'
uses: rlespinasse/drawio-export-action@v2
with:
path: ./src/drawio/
Expand All @@ -92,6 +116,7 @@ jobs:

# copies the created png & svg files to the images/diagrams folder and deletes the drawio files
- name: Copy draw io
if: steps.check_drawio.outputs.has_drawio == 'true'
run: |
imagedir=images/diagrams
cp -RT ./src/drawio $imagedir
Expand Down
7 changes: 1 addition & 6 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@

image:gematik_logo.svg[width=70%]

image:https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fgematik%2Fapi-kim%2Fmain%2Fsrc%2Fjson%2Fbadges.json&query=%24.badges.releaseNotes.version&prefix=%20&style=plastic&logo=github&logoColor=blue&label=ReleaseNotes&labelColor=%24.badges.releaseNotes.color&color=blue[link="ReleaseNotes.adoc"] +
image:https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fgematik%2Fapi-kim%2Fmain%2Fsrc%2Fjson%2Fbadges.json&query=%24.badges.kimClientmodulSpec.version&style=plastic&logo=adobeacrobatreader&logoColor=red&label=Spezifikation%20KIM%20Clientmodul&color=red&[link=https://fachportal.gematik.de/Fanwendungen/kommunikation-im-medizinwesen]
image:https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fgematik%2Fapi-kim%2Fmain%2Fsrc%2Fjson%2Fbadges.json&query=%24.badges.kimFachdienstSpec.version&style=plastic&logo=adobeacrobatreader&logoColor=red&label=Spezifikation%20KIM%20Fachdienst&color=red&[link=https://fachportal.gematik.de/Fanwendungen/kommunikation-im-medizinwesen] +
image:https://img.shields.io/badge/dynamic/yaml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fgematik%2Fapi-kim%2Fmain%2Fsrc%2Fopenapi%2FAccountManager.yaml&query=%24.info.version&style=plastic&logo=openapiinitiative&logoColor=green&label=AccountManager&color=green[link="src/openapi/AccountManager.yaml"]
image:https://img.shields.io/badge/dynamic/yaml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fgematik%2Fapi-kim%2Fmain%2Fsrc%2Fopenapi%2FAttachmentService.yaml&query=%24.info.version&style=plastic&logo=openapiinitiative&logoColor=green&label=AttachmentService&color=green[link="src/openapi/attachmentService.yaml"]
image:https://img.shields.io/badge/dynamic/yaml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fgematik%2Fapi-kim%2Fmain%2Fsrc%2Fopenapi%2FAccountLimit.yaml&query=%24.info.version&style=plastic&logo=openapiinitiative&logoColor=green&label=AccountLimit&color=green[link="src/openapi/AccountLimit.yaml"]
Expand All @@ -14,7 +11,7 @@ image:https://img.shields.io/badge/dynamic/yaml?url=https%3A%2F%2Fraw.githubuser

== Allgemeines

Die folgende Dokumentation beschreibt KIM 1.5.4. An dieser Stelle werden insbesondere die Komponenten der Lösung sowie deren Schnittstellen dargestellt und erläutert. Die Version KIM 1.5.4 ist vollständig abwärtskompatibel. Dadurch wird gewährleistet, dass Teilnehmer mit einer früheren Version uneingeschränkt Nachrichten an Teilnehmer versenden können, die bereits KIM 1.5.4 verwenden.
Die folgende Dokumentation beschreibt Release-Zustand KIM. An dieser Stelle werden insbesondere die Komponenten der Lösung sowie deren Schnittstellen dargestellt und erläutert.

Der Funktionsumfang der KIM Version 1.5 erweitert sich gegenüber KIM 1.0 wie folgt:

Expand All @@ -26,8 +23,6 @@ Der Funktionsumfang der KIM Version 1.5 erweitert sich gegenüber KIM 1.0 wie fo

* das Einrichten von Abwesenheitsnotizen

* das Einrichten von Anwendungskennzeichen

* die Unterstützung syntaktischer Nachrichtenkategorien (Dienstkennungen)

* die Unterstützung von Multikonnektor-Umgebungen
Expand Down
4 changes: 4 additions & 0 deletions ReleaseNotes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

image:gematik_logo.svg[width=70%]

== KIM 1.5.5 Release Notes

siehe https://gemspec.gematik.de/releases/KIM_1_5_5/

== KIM 1.5.4 Release Notes

=== Neu
Expand Down
11 changes: 0 additions & 11 deletions docs/Anwendungsfaelle.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -143,17 +143,6 @@ Das folgende Sequenzdiagramm stellt den Ablauf des Empfanges einer Nachricht dar
</p>
++++

== Anwendungskennzeichen
KIM-Teilnehmer können über das Frontend (GUI) des Administrationsmoduls Anwendungskennzeichen für ihren e-Mail Account konfigurieren oder einsehen. Für das konfigurieren eines oder mehrerer Anwendungskennzeichen ruft das Administrationsmodul die Operation `setAccount()` an der Schnittstelle `I_AccountManager_Service` des Account Managers seines KIM Fachdienstes auf, der diese dann im Verzeichnisdienst in den KIM-Fachdaten für die betroffene Mail-Adresse einträgt. Für das Abfragen von konfigurierten Anwendungskennzeichen wird die Operation `getAccount()` an der Schnittstelle `I_AccountManager_Service` am Account Manager verwendet. Für jede Operation baut das Administrationsmodul eine TLS-Verbindung zum Account Manager auf.

Im folgenden Sequenzdiagramm ist die Interaktion zwischen Administrationsmodul und dem Account Manager dargestellt.

++++
<p align="center">
<img width="55%" src=../images/diagrams/Fachdienst/Seq_acc_anwendungskennzeichen.svg>
</p>
++++

== KIM-Dienstkennung
Der KIM-Teilnehmer kann eine zu versendende Nachricht mit einer Dienstkennung - z. B. "eAU;Lieferung;v1.0" - versehen. Wird durch den Mailclient in der für den Versand durch das Clientmodul übergebenen Mail keine Dienstkennung eingetragen, wird vom Clientmodul ein default-Dienstkennung nachträglich ergänzt ("KIM-Mail;Default;V1.0").
Die Dienstkennung wird in den Nachrichten-Header eingetragen, und kann auf der Empfängerseite für eine automatisierte Bearbeitung verwendet werden. Der Bezeichner des hierfür vorgesehenen Header-Feldes lautet `X-KIM-Dienstkennung`. Die Dienstkennung der ursprünglichen Mail wird nach der Verschlüsselung in den Header der verschlüsselten Mail übernommen. Ein Empfänger kann auf Basis der Dienstkennung entscheiden, wie er mit den zur Abholung auf dem Mail-Server bereitstehenden Nachrichten verfahren möchte.
Expand Down
14 changes: 1 addition & 13 deletions docs/KIM_API.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,6 @@ Für die automatisierte Auswertung der KIM-Mails auf Seiten des Empfängers werd

Eine Übersicht über alle Dienstkennungen kann hier eingesehen werden: link:https://fachportal.gematik.de/toolkit/dienstkennung-kim-kom-le[Dienstkennungen]

=== Umgang mit Anwendungskennzeichen (ab KIM 1.5.3)

Für die geziehlte Auswahl einer KIM E-Mail-Adresse können die im TI VZD (LDAP) hinterlegten Adressen mit einem Anwendungskennzeichen versehen werden. So kann z. B. sichergestellt werden, dass eine gesendete Nachricht an diese KIM E-Mail-Adresse durch den Empfänger verarbeitet werden kann. Es können für eine KIM E-Mail-Adresse mehrere Anwendungskennzeichen hinterlegt werden. +
Neben den auf eine explizite Anwendung bezogenen Anwendungskennzeichen wird ein Standard Anwendungskennzeichen konfiguriert. Dieses ermöglicht es, den Empfang von Nachrichten sicherzustellen, auch wenn kein passendes Anwendungskennzeichen gefunden wurde. Jeder Fachdiensteintrag (FAD) innerhalb eines Verzeichnisdiensteintrages (mit TelematikID) *MUSS eine* KIM E-Mail-Adresse mit einem Standard Anwendungskennzeichen besitzen. Wird eine KIM E-Mail-Adresse, die das Standard Anwendungskennzeichen zugewiesen hat, gelöscht, dann *MUSS* sichergestellt werden, dass eine Zuweisung für eine andere KIM E-Mail-Adresse im selben FAD eine Neuvergabe erfolgt. Das vor Ort befindliche KIM Clientmodul (Administrations-Modul) stellt die dafür notwendige Oberfläche bereit.

=== Umgang mit großen Anhängen

E-Mails mit einer Gesamtgröße bis zu 15 MiB werden entsprechend den Festlegungen im KIM 1.0 behandelt. Übersteigt die Größe einer E-Mail die 15 MiB Grenze, wird die gesamte Client-Mail, durch das Clientmodul des Senders verschlüsselt, auf dem KIM-Attachment-Service (KAS) des Fachdiensts des Absenders abgelegt. Das Clientmodul ersetzt den Body der originalen Mail mit der KIM-Attachment Datenstruktur (*[gemSpec_CM_KOMLE#Tabelle 2]*) und versendet diese nach der weiteren Verarbeitung durch das Clientmodul als KIM Nachricht an den Fachdienst. Das KIM-Clientmodul des Empfängers erkennt den `link` in der KIM-Attachment Datenstruktur, lädt die E-Mail-Daten vom KAS des Absenders und entschlüsselt sie. Die damit wieder hergestellte originale Client-Mail wird dem Mail-Client des Empfängers zugestellt. Der Umgang mit großen Anhängen ist in *[gemSpec_CM_KOMLE#3.2]* spezifiziert. Die vom KAS dazu bereitgestellte Schnittstelle wird im folgenden genauer beschrieben.
Expand Down Expand Up @@ -331,14 +326,12 @@ Mittels der Operation `registerAccount()` wird die Registrierung eines KIM-Teiln
"username": "user@example.kim.telematik",
"password": "new_password",
"kimVersion": "1.5"
"appTags": "<Anwendungskennzeichen>"
}
----
[normal]#`referenceID` - Referenz eines KIM-Teilnehmers# +
[normal]#`username` - E-Mail Adresse eines KIM-Teilnehmers# +
[normal]#`password` - Neues Passwort festlegen# +
[normal]#`kimVersion` - Die vom Clientmodul eingesetzte KIM-Version# +
[normal]#`appTags` - Die vom KIM-Teilnehmers unterstützte/n Anwendung/en#
[normal]#`kimVersion` - Die vom Clientmodul eingesetzte KIM-Version#
|===

*Beispielaufruf:*
Expand All @@ -354,7 +347,6 @@ curl -X 'POST' \
"username": "user@example.kim.telematik",
"password": "new_password",
"kimVersion": "1.5"
"appTags": "eAU"
}'
-----------------

Expand Down Expand Up @@ -520,15 +512,13 @@ Die Operation `setAccount()` ermöglicht die Verwaltung eines Accounts eines KIM
"username": "user@example.kim.telematik",
"password": "password",
"kimVersion": "1.5",
"appTags": "<Anwendungskennzeichen>"
"dataTimeToLive": 90
}
----
[normal]#`referenceID` - Referenz eines KIM-Teilnehmers# +
[normal]#`username` - E-Mail Adresse eines KIM-Teilnehmers# +
[normal]#`password` - Neues Passwort festlegen# +
[normal]#`kimVersion` - Die vom Clientmodul eingesetzte KIM-Version# +
[normal]#`appTags` - Die vom KIM-Teilnehmers unterstützte/n Anwendung/en# +
[normal]#`dataTimeToLive` - Speicherdauer in Tagen von Mails und Anhängen auf dem Fachdienst#
|===

Expand All @@ -545,7 +535,6 @@ curl -X 'PUT' \
"username": "user@example.kim.telematik",
"password": "password",
"kimVersion": "1.5",
"appTags": "eAU",
"dataTimeToLive": 90
}'
-----------------
Expand Down Expand Up @@ -620,7 +609,6 @@ Body:
"regStat": "registered",
"deregDate": 1616588543,
"maxMailSize": 734003200,
"appTags": "eAU",
"dataTimeToLive": 90
}
-----------------
Expand Down
3 changes: 0 additions & 3 deletions docs/Primaersystem.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -106,9 +106,6 @@ Suchergebnisse gibt, werden die Ergebnisinformationen dem Nutzer vollständig an
* *Versand einer großen E-Mail* +
Für den Versand einer goßen E-Mail (Gesamtgröße übersteigt 15 MB) ist die im VZD durch einen Nutzer hinterlegte Freigabe zum Empfang großer E-Mails zu berücksichtigen. Ist bei der Erstellung einer zu versendenden Nachricht abzusehen, dass die Größe der Nachricht den Wert 15 MB übersteigt, dann sollte ein Empfänger, ohne die dafür in seinem VZD Eintrag hinterlegte Kennung `1.5+`, nicht zur Liste der Empfänger hinzugegfügt werden.

* *Berücksichtigung des&#47;der Anwendungskennzeichen des Empfängers* +
Es ist erforderlich, dass das Primärsystem die im Suchergebnis enthaltenen Anwendungskennzeichen, die ein KIM Teilnehmer im VZD für seinen Eintrag hinterlegt hat, berücksichtigt. Erkennt das Primärsystem, dass für die verwendete Anwendung kein Eintragung im VZD Eintrag des beabsichtigten Empfängers vorliegt, dann ist dem Nutzer die mit dem Standard Anwendungskennzeichen markierte E-Mail-Adresse anzuzeigen. Der Nutzer kann entscheiden, ob diese Adresse verwendet wird. Ist dies nicht der Fall, oder durch den Sender nicht gewünscht, ist der Versand der Mail abzulehnen.

* *Prüfung der Empfängeradressen* +
Es ist erforderlich, dass das Primärsystem lokal gespeicherte KIM-Adressen regelmäßig mit den Daten im VZD vergleicht und nicht mehr im VZD vorhandene KIM-Adressen aus dem lokalen Speicher entfernt und gegebenenfalls durch aktuelle KIM-Adressen aus dem VZD ersetzt. Die lokal gespeicherten KIM-Adressen sollen einmal täglich aktualisiert werden.

Expand Down
2 changes: 1 addition & 1 deletion docs/Verzeichnisdienst.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ image:gematik_logo.svg[width=70%]
toc::[]

== Verzeichnisdienst
Ab der KIM Version 1.5 können zur Abfrage der KIM-Fachdaten ausschließlich die Protokolle LDAPv3 und HTTP (REST) an der Schnittstelle `I_Directory_Application_Maintenance` am Verzeichnisdienst verwenden werden. Zu den Fachdaten gehören die KIM-Mail-Adressen, die verwendete KOM-LE-Version der Clientmodule sowie ein oder mehrere Anwendungskennzeichen. Ausgehend von dieser KOM-LE-Version entscheidet das Clientmodul des Senders, ob das Clientmodul des Empfängers kompatibel ist. Mit dem Hinterlegen eines oder mehrerer Anwendungskennzeichen signalisiert der jeweilige KIM Teilnehmer die Möglichkeit Nachrichten im Rahmen spezieller Anwendungen (z. B. eAU, eArztbrief u.a.) entgegenzunehmen und zu verarbeiten. Zusätzlich zu diesen auf eine Anwendung bezogenen Anwendungskennzeichen soll von den KIM Nutzern ein Standard Anwendungskennzeichen `KIM-Mail` im zu ihm gehörenden Verzeichnisdiensteintrag hinterlegt werden. Ein Primär- bzw. Clientsystem kann, mit Kenntnis der für einen geplanten Empfänger hinterlegten Anwendungskennzeichen, bereits bei der Erstellung einer Nachricht entscheiden ob diese vom Empfänger verarbeitet werden kann und die Bearbeitung im Negativfall abbrechen oder auf das Standard Anwendungskennzeichen zurückgreifen. Die neuen Datenstrukturen `komLeData` und `kimData` sind in *[gemSpec_VZD#5]* spezifiziert.
Ab der KIM Version 1.5 können zur Abfrage der KIM-Fachdaten ausschließlich die Protokolle LDAPv3 und HTTP (REST) an der Schnittstelle `I_Directory_Application_Maintenance` am Verzeichnisdienst verwenden werden. Zu den Fachdaten gehören die KIM-Mail-Adressen, die verwendete KOM-LE-Version der Clientmodule. Ausgehend von dieser KOM-LE-Version entscheidet das Clientmodul des Senders, ob das Clientmodul des Empfängers kompatibel ist. Die neuen Datenstrukturen `komLeData` und `kimData` sind in *[gemSpec_VZD#5]* spezifiziert.

Die Beschreibung der REST-Schnittstelle `I_Directory_Application_Maintenance` für KIM ist hier zu finden: link:https://github.com/gematik/api-vzd/blob/main/src/openapi/DirectoryApplicationMaintenance.yaml[DirectoryApplicationMaintenance.yaml]

Expand Down
Binary file removed images/Seq_acc_anwendungskennzeichen.png
Binary file not shown.
Binary file not shown.
Loading