Skip to content

Commit

Permalink
diagrams upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
MaxMTheilig committed Apr 4, 2024
1 parent 3e29b66 commit 780082f
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 35 deletions.
44 changes: 39 additions & 5 deletions .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 @@ -38,15 +39,16 @@ jobs:
run: |
wget -O plantuml.jar "https://github.com/plantuml/plantuml/releases/latest/download/plantuml.jar"
# Clean Folder
# Ensure Folder exsists, otherwise, create it
- name: Ensure and clean folder
run: |
img_dir=Material/images/diagrams
mkdir -p $img_dir
rm -rf Material/images/diagrams/*.svg
# do not clean
# rm -rf Material/images/diagrams/*.svg

# Generate the SVGs from PUML
- name: Render PUML to SVG and Move files
- name: Render PUML to SVG files
run: |
FileNamePaths=$(find . -path "*/images/src/*/*.puml" -exec dirname {} \; | sort -u)
for dir in $FileNamePaths
Expand All @@ -70,7 +72,34 @@ jobs:
format: svg
action-mode: all

# Install note.js and bpmn-to-image
- name: Install Notejs and pbmn-to-image
uses: actions/setup-node@v4
with:
node-version: 18
- run: npm install -g bpmn-to-image

# Generate the SVGs from BPMN
- name: Render BPMN to SVG files
run: |
FileNamePaths=$(find . -path "*/images/src/*/*.bpmn" -exec dirname {} \; | sort -u)
for dir in $FileNamePaths
do
# Render SVGs from BPMN
echo $dir
FileBaseNames=$(find $dir -name "*.bpmn" -exec basename "{}" ".bpmn" \; | sort -u)
#FileBaseNames=$(find $dir -name "*.bpmn" | xargs -L1 -I{} basename "{}")
for base in $FileBaseNames
do
echo $base
bpmn-to-image "$dir/$base.bpmn":"$dir/$base.svg";
done
done
# copies the created SVG files to the images/diagrams folder and deletes the drawio files
# mv for copy and delete, here
- name: Move SVGs to target image folder
run: |
img_dir=Material/images/diagrams
Expand All @@ -79,7 +108,8 @@ jobs:
for dir in $FileNamePaths
do
# Move SVGs to out directory
find $dir -name "*.svg" -exec mv {} $img_dir \;
# find $dir -name "*.svg" -exec rm -rf {} $img_dir \;
find $dir -name "*.svg" -exec mv -f {} $img_dir \;
done
## add and commit the new generated files
Expand All @@ -99,4 +129,8 @@ jobs:
with:
commit_user_name: GitHub Actions Bot
commit_user_email: [email protected]
commit_message: auto-generated diagrams by GitHub Action after source code change
commit_message: auto-generated diagrams by GitHub Action after source code change

- name: "Run if no changes have been detected"
if: steps.auto-commit-action.outputs.changes_detected == 'false'
run: echo "No Changes!"
22 changes: 16 additions & 6 deletions ImplementationGuide/markdown/Zusammenfassung/Informationsmodell.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
# Übersicht
Im Folgenden wird ein grafischer Überblick über alle in diesem Modul profilierten Ressourcen gegeben.
Im Folgenden wird ein grafischer Überblick über alle in diesem Modul profilierten Ressourcen und deren Zusammenhänge gegeben.

## Ressourcen Diagramm

Da es sich um eine Zusammenfassung handelt, werden nur folgende Profile und Felder dargestellt:
* Profile und Extenstion, die im Modul Terminplanung enstanden sind.
* Profile und Extenstion, die im Modul Terminplanung zwingend benötigt werden. In vereinfachter Form, mit Verweis auf den Ursprung.
* Profile und Extenstion, die im Modul Dokumentenaustausch enstanden sind.
* Profile und Extenstion, die im Modul Dokumentenaustausch zwingend benötigt werden. In vereinfachter Form, mit Verweis auf den Ursprung.
* Felder, die unterstüzt werden MÜSSEN (Must Support).
* Die Elemente (Unterfelder) haben, die unterstüzt werden MÜSSEN (Must Support).
* Nur Unter-Elemente (MS) bis zu zweiten oder dritten Tiefe, abhängig von Umfang und Systematik. D.h. Keine bedingten Wiederholungen (repeat) oder Rekursionen (part-of).


## Ressourcen Diagramm
<img src="https://raw.githubusercontent.com/gematik/spec-ISiK-Dokumentenaustausch/rc/main-stufe-4/Material/images/diagrams/resourcediagram.svg" alt="Ressourcen Diagramm" width="90%"/>

**Ressourcen Diagramm**

<img src="https://raw.githubusercontent.com/gematik/spec-ISiK-Dokumentenaustausch/rc/main-stufe-4/Material/images/diagrams/resourcediagram.svg" alt="Ressourcen Diagram" width="90%"/>

## Informationsmodell Diagramm

<img src="https://raw.githubusercontent.com/gematik/spec-ISiK-Dokumentenaustausch/rc/main-stufe-4/Material/images/diagrams/infomodell.svg" alt="Informationsmodell" width="90%"/>
Für das Informationsmodell gilt des Weiteren:
* Es werden nur die Rümpfe der Profile (Klassen) dargestellt.
* ValueSets und CodeSystems werden, wenn relevant, über gestrichelte Linien dargestellt.

<img src="https://raw.githubusercontent.com/gematik/spec-ISiK-Dokumentenaustausch/rc/main-stufe-4/Material/images/diagrams/infomodel.svg" alt="Informationsmodell" width="90%"/>

**Informationsmodell**
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
' TODO:
' Vervollständigen im Sinne von: https://github.com/gematik/spec-ISiK-Medikation/blob/rc/main-stufe-4/Material/docs/Medikation%20Abgleich%20bestehende%20Spezifikationen.xlsx

@startuml infomodell
@startuml infomodel
'verhindere Probleme mit gewinkelten Krähenfüßen
'skinparam linetype ortho

Expand All @@ -33,17 +33,17 @@
'together ISiK_DokumentenAustausch {
class ISiKDokumentenMetadaten <DocumentReference><<(P,#8DA5C4)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-dokumentenaustausch-v3/isikdokumentenmetadaten ISiK Dokumenten Metadaten]]
[[https://simplifier.net/isik-dokumentenaustausch-v4/isikdokumentenmetadaten ISiK Dokumenten Metadaten]]
}

class ISiKDokumentenSuchergebnisse <Bundle><<(P,#8DA5C4)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-dokumentenaustausch-v3/isikdokumentensuchergebnisse ISiK Dokumenten Suchergebnisse]]
[[https://simplifier.net/isik-dokumentenaustausch-v4/isikdokumentensuchergebnisse ISiK Dokumenten Suchergebnisse]]
}

class ISiKConfidentialityCodes <ValueSet><<(V,#8DA5C4)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-dokumentenaustausch-v3/ISiKConfidentialityCodes/ ISiK Confidentiality Codes]]
[[https://simplifier.net/isik-dokumentenaustausch-v4/ISiKConfidentialityCodes/ ISiK Confidentiality Codes]]
}
'}

Expand Down Expand Up @@ -83,19 +83,19 @@ class vsKDL as "valueset-kdl-2022" <ValueSet><<(V,#8DA5C4)>>{
'together ISiK_Basis {
class ISiKPatient <Patient><<(P,#8DA5C4)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-basis-v3/isikpatient ISiK Patient]]
[[https://simplifier.net/isik-basis-v4/isikpatient ISiK Patient]]
}
class ISiKKontaktGesundheitseinrichtung <Encounter><<(P,#8DA5C4)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-basis-v3/isikkontaktgesundheitseinrichtung ISiK Kontakt Gesundheitseinrichtung]]
[[https://simplifier.net/isik-basis-v4/isikkontaktgesundheitseinrichtung ISiK Kontakt Gesundheitseinrichtung]]
}
class ISiKPractitioner <Practitioner><<(P,#8DA5C4)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-basis-v3/isikpersonimgesundheitsberuf ISiK Person im Gesundheitsberuf]]
[[https://simplifier.net/isik-basis-v4/isikpersonimgesundheitsberuf ISiK Person im Gesundheitsberuf]]
}
class ISiKAngehoeriger <RelatedPerson><<(P,#8DA5C4)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-basis-v3/isikangehoeriger ISiK Angehoeriger]]
[[https://simplifier.net/isik-basis-v4/isikangehoeriger ISiK Angehoeriger]]
}
'}

Expand All @@ -108,25 +108,25 @@ MultiRef_PracPatRel -- ISiKPractitioner
MultiRef_PracPatRel -- ISiKPatient
MultiRef_PracPatRel -- ISiKAngehoeriger
<> MultiRef_KDLXDS
MultiRef_KDLXDS -- vsKDL
MultiRef_KDLXDS -- IHEXDStypeCode
MultiRef_KDLXDS .. vsKDL
MultiRef_KDLXDS .. IHEXDStypeCode
}

'Relations
ISiKDokumentenSuchergebnisse::DocumentReference -down- " 1..1 " ISiKDokumentenMetadaten


ISiKDokumentenMetadaten::type -- " 1..1 " MultiRef_KDLXDS
ISiKDokumentenMetadaten::category -- " 0..1 " IHEXDSclassCode
ISiKDokumentenMetadaten::type .. " 1..1 " MultiRef_KDLXDS
ISiKDokumentenMetadaten::category .. " 0..1 " IHEXDSclassCode

ISiKDokumentenMetadaten::subject --> " 1..1 " ISiKPatient
ISiKDokumentenMetadaten::author <--> " 0..1 " MultiRef_PracPatRel
ISiKDokumentenMetadaten::securityLabel -up- " 1..* "ISiKConfidentialityCodes
ISiKDokumentenMetadaten::content -- " 1..1 " IHEXDSformatCodeDE
ISiKDokumentenMetadaten::securityLabel .up. " 1..* "ISiKConfidentialityCodes
ISiKDokumentenMetadaten::content .. " 1..1 " IHEXDSformatCodeDE
ISiKDokumentenMetadaten::encounter -- " 0..1 " ISiKKontaktGesundheitseinrichtung
ISiKDokumentenMetadaten::context -- " 1..1 " IHEXDSeventCodeList
ISiKDokumentenMetadaten::context -- " 1..1 " IHEXDShealthcareFacilityTypeCode
ISiKDokumentenMetadaten::context -- " 1..1 " IHEXDSpracticeSettingCode
ISiKDokumentenMetadaten::context .. " 1..1 " IHEXDSeventCodeList
ISiKDokumentenMetadaten::context .. " 1..1 " IHEXDShealthcareFacilityTypeCode
ISiKDokumentenMetadaten::context .. " 1..1 " IHEXDSpracticeSettingCode


' namespace dummy {
Expand Down
14 changes: 7 additions & 7 deletions Material/images/src/plantuml/resourcediagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ namespace ISiK_DokumentenAustausch {


namespace DE_Basisprofile_R4 {
class Basisprofile_Modul <<(M,#FFAAAA)>>{
class Basisprofile_DE <<(M,#FFAAAA)>>{
Dokumentation auf HL7 Org
[[https://simplifier.net/basisprofil-de-r4 Basisprofil DE (RE4)]]
}
Expand Down Expand Up @@ -233,25 +233,25 @@ namespace DVMD_KDL_R4 {
}
}
namespace ISiK_Basis {
class Basismodul_Stufe_3 <<(M,#FFDC36)>>{
class Basismodul_Stufe_4 <<(M,#FFDC36)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-basis-v3/~introduction ISiK Basis Stufe 3]]
[[https://simplifier.net/isik-basis-v4/~introduction ISiK Basis Stufe 4]]
}
class ISiKPatient <Patient><<(P,#8DA5C4)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-basis-v3/isikpatient ISiK Patient]]
[[https://simplifier.net/isik-basis-v4/isikpatient ISiK Patient]]
}
class ISiKKontaktGesundheitseinrichtung <Encounter><<(P,#8DA5C4)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-basis-v3/isikkontaktgesundheitseinrichtung ISiK Kontakt Gesundheitseinrichtung]]
[[https://simplifier.net/isik-basis-v4/isikkontaktgesundheitseinrichtung ISiK Kontakt Gesundheitseinrichtung]]
}
class ISiKPractitioner <Practitioner><<(P,#8DA5C4)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-basis-v3/isikpersonimgesundheitsberuf ISiK Person im Gesundheitsberuf]]
[[https://simplifier.net/isik-basis-v4/isikpersonimgesundheitsberuf ISiK Person im Gesundheitsberuf]]
}
class ISiKAngehoeriger <RelatedPerson><<(P,#8DA5C4)>>{
Dokumentation auf Simplifier
[[https://simplifier.net/isik-basis-v3/isikangehoeriger ISiK Angehoeriger]]
[[https://simplifier.net/isik-basis-v4/isikangehoeriger ISiK Angehoeriger]]
}
}

Expand Down

0 comments on commit 780082f

Please sign in to comment.