diff --git a/.github/workflows/RenderAllDiagrams.yml b/.github/workflows/RenderAllDiagrams.yml index e01d80ed..76fe4085 100644 --- a/.github/workflows/RenderAllDiagrams.yml +++ b/.github/workflows/RenderAllDiagrams.yml @@ -5,6 +5,7 @@ on: paths: - '**/Material/images/src/**/*.puml' - '**/Material/images/src/**/*.drawio' + - '**/Material/images/src/**/*.bpmn' branches-ignore: - 'main**' @@ -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 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8158ed58..09118964 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -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: diff --git a/Material/images/src/plantuml/infomodell.puml b/Material/images/src/plantuml/infomodell.puml index f8489c2f..f64b13e6 100644 --- a/Material/images/src/plantuml/infomodell.puml +++ b/Material/images/src/plantuml/infomodell.puml @@ -19,9 +19,6 @@ @enduml -' 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 'verhindere Probleme mit gewinkelten Krähenfüßen 'skinparam linetype ortho @@ -30,104 +27,258 @@ 'ISiK_Medikation.ISiKMedikationTransaction --> R4_Core.Bundle 'ISiK_Medikation.ISiKMedikationTransactionResponse --|> R4_Core.Bundle -'together ISiK_DokumentenAustausch { - class ISiKDokumentenMetadaten <<(P,#8DA5C4)>>{ + 'ISiKMedikation::itemReference --> ISiKMedikation + +'AMTS related +'together { +class ISiKAllergieUnvertraeglichkeit <<(P,#8DA5C4)>>{ + Dokumentation auf Simplifier + [[https://simplifier.net/isik-basis-v4/isikallergieunvertraeglichkeit ISiK AllergieUnvertraeglichkeit]] + --- + clinicalStatus : **AllergyIntoleranceClinicalStatusCodes** + |_ coding + verificationStatus : **AllergyIntoleranceVerificationStatusCodes** + |_ coding + type : **AllergyIntoleranceType** + category : **AllergyIntoleranceCategory** + criticality : **AllergyIntoleranceCriticality** + code + |_ coding + . . . +} + +class ISiKLebensZustand <<(P,#8DA5C4)>>{ + Dokumentation auf Simplifier + [[https://simplifier.net/isik-basis-v4/isiklebenszustand ISiK LebensZustand]] + --- + status : **ObservationStatus** + code + subject : Reference ( **Patient** | \nGroup | Device | Location) + . . . +} + + + class ISiKAlkoholAbusus <<(P,#8DA5C4)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/isik-dokumentenaustausch-v3/isikdokumentenmetadaten ISiK Dokumenten Metadaten]] + [[https://simplifier.net/isik-basis-v4/isikalkoholabusus ISiK Alkohol Abusus]] + --- + code : snomed sct **15167005** + . . . } + class ISiKRaucherStatus <<(P,#8DA5C4)>>{ + Dokumentation auf Simplifier + [[https://simplifier.net/isik-basis-v4/isikraucherstatus ISiK Raucherstatus]] + --- + code : snomed sct **77176002** + . . . + } +'Oservation Childs +together Observations { - class ISiKDokumentenSuchergebnisse <<(P,#8DA5C4)>>{ + class ISiKSchwangerschaftErwarteterEntbindungstermin <<(P,#8DA5C4)>>{ + Dokumentation auf Simplifier + [[https://simplifier.net/isik-basis-v4/isikschwangerschafterwarteterentbindungstermin ISiK Schwangerschaft - Erwarteter Entbindungstermin]] + --- + code : **SchwangerschaftEtMethodeVS** + . . . + } + class ISiKSchwangerschaftsstatus <<(P,#8DA5C4)>>{ + Dokumentation auf Simplifier + [[https://simplifier.net/isik-basis-v4/isikschwangerschaftsstatus ISiK Schwangerschaftsstatus]] + --- + code : loinc **82810-3** + . . . + } + + class SchwangerschaftsstatusVS <<(V,#8DA5C4)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/isik-dokumentenaustausch-v3/isikdokumentensuchergebnisse ISiK Dokumenten Suchergebnisse]] + [[https://simplifier.net/isik-basis-v4/schwangerschaftsstatusvs Schwangerschaft Status]] from [[http://loinc.org LOINC]] } - class ISiKConfidentialityCodes <<(V,#8DA5C4)>>{ + class ISiKStillstatus <<(P,#8DA5C4)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/isik-dokumentenaustausch-v3/ISiKConfidentialityCodes/ ISiK Confidentiality Codes]] + [[https://simplifier.net/isik-basis-v4/isikstillstatus ISiK Stillstatus]] + --- + code : snomed sct **1260078007** + . . . } -'} +} -'together DE_Basisprofile_R4 { - class IHEXDShealthcareFacilityTypeCode <<(V,#8DA5C4)>>{ + +' Weiteres Basis +together { + class ISiKAbrechnungsfall <<(P,#8DA5C4)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/packages/de.basisprofil.r4/1.4.0/files/656621 IHEXDS Healthcare Facility Type Code]] + [[https://simplifier.net/isik-labor-v4/isiklabrechnungsfall ISiK Abrechnungsfall]] + --- + extension : **ExtensionAbrechnungsDiagnoseProzedur** + |_ AbrechnungsDiagnoseProzedur + . . . } - class IHEXDSpracticeSettingCode <<(V,#8DA5C4)>>{ + + class ISiKAngehoeriger <<(P,#8DA5C4)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/packages/de.basisprofil.r4/1.4.0/files/656622 IHEXDS Practice Setting Code]] + [[https://simplifier.net/isik-basis-v4/isikangehoeriger ISiK Angehoeriger]] + --- + patient : Reference ( **Patient**) + name : HumanName + address : Address + |_ Strassenanschrift : **Adresse** + |_ Postfach : **Adresse** + . . . } - class IHEXDStypeCode <<(V,#8DA5C4)>>{ + + class ISiKBerichtBundle <<(P,#8DA5C4)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/packages/de.basisprofil.r4/1.4.0/files/656623 IHEXDS Type Code]] + [[https://simplifier.net/isik-basis-v4/isikberichtbundle ISiK Bericht bundle]] + --- + type : **document** + entry + |_ Composition + |_ resource : **ISiKBerichtSubSysteme** + . . . } - class IHEXDSclassCode <<(V,#8DA5C4)>>{ + + class ISiKBerichtSubSysteme <<(P,#8DA5C4)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/packages/de.basisprofil.r4/1.4.0/files/656617 IHEXDS Class Code]] + [[https://simplifier.net/isik-basis-v4/isikberichtsubsysteme ISiK Bericht SubSysteme]] + } + +} + +'Valuesets Observations + + class LOINCCodes <<(V,#8DA5C4)>>{ + Dokumentation auf HL7 Org + [[http://hl7.org/fhir/ValueSet/observation-codes Observation Codes]] from [[https://loinc.org/ LOINC]] } - class IHEXDSeventCodeList <<(V,#8DA5C4)>>{ + + class SchwangerschaftEtMethodeVS <<(V,#8DA5C4)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/packages/de.basisprofil.r4/1.4.0/files/656619 IHEXDS Event Code List]] + [[https://simplifier.net/isik-basis-v4/schwangerschaftetmethodevs Schwangerschaft Estimated Methode]] from [[http://loinc.org LOINC]] + } + +' Weitere Value Sets +together { + + class ISiKAccountIdentifierType <<(V,#8DA5C4)>>{ + Dokumentation auf Simplifier + [[https://simplifier.net/isik-basis-v3/isikaccountidentifiertype ISiK Account Identifier Type]] from [[https://simplifier.net/packages/hl7.fhir.r4.core/4.0.1/files/80925 v2.0203]] } - class IHEXDSformatCodeDE <<(V,#8DA5C4)>>{ + + class ISiKAccountType <<(V,#8DA5C4)>>{ + Dokumentation auf Simplifier + [[https://simplifier.net/isik-basis-v3/isikaccounttype ISiK Account Type]] from [[https://simplifier.net/packages/hl7.fhir.r4.core/4.0.1/files/80998 v3.ActCode]] + } + class identifierAbrechnungsnummer <<(P,#8DA5C4)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/packages/de.basisprofil.r4/1.4.0/files/656620 IHEXDS Format Code]] + [[http://fhir.de/StructureDefinition/identifier-abrechnungsnummer Identifier-Profil]] für die Abbildung \neiner Abrechnungsnummer ("Fallnummer") } -'} + class ExtensionAbrechnungsDiagnoseProzedur <<(E,#7A8495)>>{ + Dokumentation auf Simplifier + [[https://simplifier.net/packages/de.basisprofil.r4/1.4.0/files/656773 Fallbezogene Abrechnungsrelevanz \nvon Diagnosen und Prozeduren]] + } -class vsKDL as "valueset-kdl-2022" <<(V,#8DA5C4)>>{ - Dokumentation auf Simplifier - [[https://simplifier.net/packages/dvmd.kdl.r4.2022/2022.1.2/files/773899 Valueset KDL 2022]] -} + class ExtensionAbrechnungsart <<(E,#7A8495)>>{ + Dokumentation auf Simplifier + [[https://simplifier.net/packages/de.basisprofil.r4/1.4.0/files/656772 Abrechnungsart]] + } -'together ISiK_Basis { - class ISiKPatient <<(P,#8DA5C4)>>{ + class gender-amtlich-de <<(E,#7A8495)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/isik-basis-v3/isikpatient ISiK Patient]] + [[https://simplifier.net/packages/de.basisprofil.r4/1.4.0/files/656672 Administratives Geschlecht 'other']] } - class ISiKKontaktGesundheitseinrichtung <<(P,#8DA5C4)>>{ + + class humanname-de-basis <<(E,#7A8495)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/isik-basis-v3/isikkontaktgesundheitseinrichtung ISiK Kontakt Gesundheitseinrichtung]] + [[https://simplifier.net/packages/de.basisprofil.r4/1.5.0-alpha6/files/2338720 HumanName, deutsches Basisprofil]] } - class ISiKPractitioner <<(P,#8DA5C4)>>{ + + class address-de-basis <<(E,#7A8495)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/isik-basis-v3/isikpersonimgesundheitsberuf ISiK Person im Gesundheitsberuf]] + [[https://simplifier.net/packages/de.basisprofil.r4/1.5.0-alpha6/files/2338610 Adresse, deutsches Basisprofil]] } - class ISiKAngehoeriger <<(P,#8DA5C4)>>{ + +} + +together { + class AllergyIntoleranceCriticality <<(V,#8DA5C4)>>{ + Dokumentation auf HL7 Org + [[https://hl7.org/fhir/R4/valueset-allergy-intolerance-criticality.html Allergy Intolerance Criticality]] from [[https://hl7.org/fhir/R4/codesystem-allergy-intolerance-criticality.html HL7]] + } + class AllergyIntoleranceVerificationStatus <<(V,#8DA5C4)>>{ + Dokumentation auf HL7 Org + [[https://www.hl7.org/fhir/R4/valueset-allergyintolerance-verification.html Allergy Intolerance Verification Status]] from [[https://www.hl7.org/fhir/R4/codesystem-allergyintolerance-verification.html HL7]] + } + class AllergyIntoleranceClinicalStatus <<(V,#8DA5C4)>>{ + Dokumentation auf HL7 Org + [[https://www.hl7.org/fhir/R4/valueset-allergyintolerance-clinical.html Allergy Intolerance Clinical Status]] from [[https://www.hl7.org/fhir/R4/codesystem-allergyintolerance-clinical.html HL7]] + } + class AllergyIntoleranceType <<(V,#8DA5C4)>>{ + Dokumentation auf HL7 Org + [[http://hl7.org/fhir/ValueSet/allergy-intolerance-type Allergy Intolerance Type]] from [[http://hl7.org/fhir/allergy-intolerance-type Code System of Allergy Intolerance]] + } + class AllergyIntoleranceCode <<(V,#8DA5C4)>>{ + Dokumentation auf HL7 Org + [[http://hl7.org/fhir/ValueSet/allergyintolerance-code Substance/Product, Condition, NegationCodes]] from [[http://snomed.info/sct SNOMED CT]] + } + class ReactionEventSeverity <<(V,#8DA5C4)>> { + Dokumentation auf HL7 Org + [[https://hl7.org/fhir/R4/valueset-reaction-event-severity.html Reaction Eventu Severity]] from [[https://hl7.org/fhir/R4/codesystem-reaction-event-severity.html HL7]] + } +} + class AccountStatus <<(V,#8DA5C4)>>{ Dokumentation auf Simplifier - [[https://simplifier.net/isik-basis-v3/isikangehoeriger ISiK Angehoeriger]] - } -'} + [[https://simplifier.net/packages/hl7.fhir.r4.core/4.0.1/files/82308 Account Status]] from [[https://simplifier.net/packages/hl7.fhir.r4.core/4.0.1/files/81890 Simplifier]] + } + + + + class ObservationCategory <<(V,#8DA5C4)>>{ + Dokumentation auf HL7 Org + [[https://hl7.org/fhir/R4/valueset-observation-category.html Observation Category]] from [[https://hl7.org/fhir/R4/codesystem-observation-category.html HL7]] + } + + class ObservationStatus <<(V,#8DA5C4)>>{ + Dokumentation auf HL7 Org + [[https://hl7.org/fhir/R4/valueset-observation-status Observation Status]] from [[https://hl7.org/fhir/R4/codesystem-observation-status.html HL7]] + } -'Realtions + +'Relations 'diamonds -together { +'together { <> MultiRef_PracPatRel MultiRef_PracPatRel -- ISiKPractitioner MultiRef_PracPatRel -- ISiKPatient MultiRef_PracPatRel -- ISiKAngehoeriger -<> MultiRef_KDLXDS -MultiRef_KDLXDS -- vsKDL -MultiRef_KDLXDS -- IHEXDStypeCode -} - -'Relations -ISiKDokumentenSuchergebnisse::DocumentReference -down- " 1..1 " ISiKDokumentenMetadaten - +<> MultiRef_AllergyDetails +MultiRef_AllergyDetails -up- AllergyIntoleranceCriticality +MultiRef_AllergyDetails -up- AllergyIntoleranceVerificationStatus +MultiRef_AllergyDetails -up- AllergyIntoleranceClinicalStatus +MultiRef_AllergyDetails -up- ReactionEventSeverity +MultiRef_AllergyDetails -up- AllergyIntoleranceType +MultiRef_AllergyDetails -up-> " 1..1 " AllergyIntoleranceCode +'} -ISiKDokumentenMetadaten::type -- " 1..1 " MultiRef_KDLXDS -ISiKDokumentenMetadaten::category -- " 0..1 " IHEXDSclassCode +'AMTS +ISiKAllergieUnvertraeglichkeit::patient --> " 1..1 " ISiKPatient +ISiKAllergieUnvertraeglichkeit::encounter --> " 0..1 " ISiKKontaktGesundheitseinrichtung +ISiKAllergieUnvertraeglichkeit::recorder --> " 0..1 " MultiRef_PracPatRel +ISiKAllergieUnvertraeglichkeit::recorder .up. MultiRef_AllergyDetails -ISiKDokumentenMetadaten::subject --> " 1..1 " ISiKPatient -ISiKDokumentenMetadaten::author <--> " 0..1 " MultiRef_PracPatRel -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 +'Specific Observations inherit from generic obseration +ISiKLebensZustand <|-- ISiKAlkoholAbusus +ISiKLebensZustand <|-- ISiKRaucherStatus +ISiKLebensZustand <|-- ISiKSchwangerschaftsstatus +ISiKLebensZustand <|-- ISiKSchwangerschaftErwarteterEntbindungstermin +ISiKLebensZustand <|-- ISiKStillstatus +ISiKSchwangerschaftsstatus::hasMember -down-> " 0..1 " ISiKSchwangerschaftErwarteterEntbindungstermin +ISiKSchwangerschaftsstatus::value ..> " 0..1 " SchwangerschaftsstatusVS +ISiKSchwangerschaftErwarteterEntbindungstermin::code ..> " 1..1 " SchwangerschaftEtMethodeVS ' namespace dummy { ' class Foo { diff --git a/Material/images/src/plantuml/resourcediagram.puml b/Material/images/src/plantuml/resourcediagram.puml index 86bbad9b..77ae0d0b 100644 --- a/Material/images/src/plantuml/resourcediagram.puml +++ b/Material/images/src/plantuml/resourcediagram.puml @@ -200,7 +200,7 @@ namespace ISiK_Basis { code : loinc **82810-3** value[x] |_ valueCodeableConcept : **SchwangerschaftsstatusVS** - hasMember : Reference ( **ISiKSchwangerschaftErwarteterEntbindungstermin** ) + hasMember : Reference \n\t( **ISiKSchwangerschaftErwarteterEntbindungstermin** ) |_ reference } @@ -329,16 +329,32 @@ namespace HL7_FHIR_R4_Core { [[https://www.hl7.org/fhir/R4/valueset-allergyintolerance-clinical.html Allergy Intolerance Clinical Status]] Das entsprechende Standard-ValueSet beeinhatet das komplette \nCode System des zugehörigen [[https://www.hl7.org/fhir/R4/codesystem-allergyintolerance-clinical.html Code System of Clinical Status]] } + class AllergyIntoleranceType <<(V,#8DA5C4)>>{ + Dokumentation auf HL7 Org + [[http://hl7.org/fhir/ValueSet/allergy-intolerance-type Allergy Intolerance Type]] + Includes all codes from the underlying code system + [[http://hl7.org/fhir/allergy-intolerance-type Code System of Allergy Intolerance]] + } + class AllergyIntoleranceCode <<(V,#8DA5C4)>>{ + Dokumentation auf HL7 Org + [[http://hl7.org/fhir/ValueSet/allergyintolerance-code Substance/Product, Condition, NegationCodes]] + Includes various codes from the code System [[http://snomed.info/sct SNOMED CT]] + -- + codes : **$CS-SCT** is-a **[[http://snomed.info/id/105590001 105590001]]** + codes : **$CS-SCT** is-a **[[http://snomed.info/id/1418038007 418038007]]** + . . . + } class ReactionEventSeverity <<(V,#8DA5C4)>> { Dokumentation auf HL7 Org [[https://hl7.org/fhir/R4/valueset-reaction-event-severity.html Reaction Eventu Severity]] Das entsprechende Standard-ValueSet beeinhatet das komplette \nCode System des zugehörigen [[https://hl7.org/fhir/R4/codesystem-reaction-event-severity.html Code System of Severity]] } - class ObservationCategory <<(V,#8DA5C4)>>{ + class ObservationCategoryCodes <<(V,#8DA5C4)>>{ Dokumentation auf HL7 Org - [[https://hl7.org/fhir/R4/valueset-observation-category.html Observation Category]] - Das entsprechende Standard-ValueSet beeinhatet das komplette \nCode System des zugehörigen [[https://hl7.org/fhir/R4/codesystem-observation-category.html Code System of Observation Category]] + [[https://hl7.org/fhir/R4/valueset-observation-category Observation Category]] + Includes all codes from the underlying code system + [[https://hl7.org/fhir/R4/codesystem-observation-category.html Code System of Observation Category]] } class ObservationStatus <<(V,#8DA5C4)>>{ @@ -349,25 +365,6 @@ namespace HL7_FHIR_R4_Core { } } -namespace ISiK_Basis { - class Basismodul_Stufe_4 <<(M,#FFDC36)>>{ - Dokumentation auf Simplifier - [[https://simplifier.net/isik-basis-v3/~introduction ISiK Basis Stufe 3]] - } - class ISiKPatient <<(P,#8DA5C4)>>{ - Dokumentation auf Simplifier - [[https://simplifier.net/isik-basis-v3/isikpatient ISiK Patient]] - } - class ISiKKontaktGesundheitseinrichtung <<(P,#8DA5C4)>>{ - Dokumentation auf Simplifier - [[https://simplifier.net/isik-basis-v3/isikkontaktgesundheitseinrichtung ISiK Kontakt Gesundheitseinrichtung]] - } - class ISiKPractitioner <<(P,#8DA5C4)>>{ - Dokumentation auf Simplifier - [[https://simplifier.net/isik-basis-v3/isikpersonimgesundheitsberuf ISiK Person im Gesundheitsberuf]] - } -} - 'namespace dummy { ' class Foo { diff --git a/Resources/input/fsh/ISiKLebenszustandOberservations.fsh b/Resources/input/fsh/ISiKLebenszustandOberservations.fsh index ac8cd3d8..3e6e5dc4 100644 --- a/Resources/input/fsh/ISiKLebenszustandOberservations.fsh +++ b/Resources/input/fsh/ISiKLebenszustandOberservations.fsh @@ -24,7 +24,7 @@ Description: "Schwangerschaftsstatus einer Patientin" * valueCodeableConcept MS * valueCodeableConcept from SchwangerschaftsstatusVS * hasMember only Reference(ISiKSchwangerschaftErwarteterEntbindungstermin) -* hasMember MS +* hasMember 0..1 MS * hasMember ^short = "Erwartetes Geburtsdatum" * hasMember ^definition = "Eine Referenz auf die ErwartetesGeburtsdatum Observation" * hasMember.reference 1.. MS