Skip to content

Commit

Permalink
add examples + other changes
Browse files Browse the repository at this point in the history
  • Loading branch information
f-peverali committed Jan 19, 2024
1 parent b7e7153 commit 19222fc
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 15 deletions.
58 changes: 50 additions & 8 deletions Resources/input/fsh/ISiKOrganisation.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -10,36 +10,47 @@ Description: "Dieses Profil beschreibt die Nutzung von Organisationseinheiten in
* ^slicing.rules = #open
* identifier contains
IKNR 0..1 MS and
BSNR 0..1 MS

BSNR 0..1 MS and
OrganisationseinheitenID 0..1 MS
/*
KIMAdresse 0..1 MS and
TIMAdresse 0..1 MS and
*/

* identifier[IKNR] only $identifier-iknr
* identifier[IKNR].type 0..1
* ^comment = "Motivation: Entsprechend der Vorgabe der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization), muss ein System ein Institutionskennzeichen (IKNR) verarbeiten können, sofern diese Information bereitgestellt wird. "

* identifier[BSNR] only $identifier-bsnr
* identifier[BSNR].type 0..1
* ^comment = "Motivation: Entsprechend der Bedarfsmeldung im Rahmen der Stakeholderbefragung zu einem Profil Organisation in der Arbeitsgruppe zum ISIK Basismodul Stufe 4 und der Vorgabe der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization), muss ein System eine Betriebsstättennummer (BSNR) verarbeiten können, sofern diese Information bereitgestellt wird. "

* ^comment = "Motivation: Entsprechend der Bedarfsmeldung im Rahmen der Stakeholderbefragung zu einem Profil Organisation in der Arbeitsgruppe zum ISIK Basismodul Stufe 4 und der Vorgabe der KBV Organisation 1.5.0. (https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Organization), muss ein System eine Betriebsstättennummer (BSNR) verarbeiten können, sofern diese Information bereitgestellt wird."
* identifier[OrganisationseinheitenID].system 1.. MS
* ^comment = "Motivation: Für IDs, die Krankhausintern spezifischen Organisationseinheiten wie Abteilungen oder Stationen vergeben werden, ist diese Identifier zu nutzen - analog zu Slice Abteilungsidentifikator in https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/mii_pr_struktur_abteilung. Da auch Stationen im Identifier-System inkludiert werden könnten, sollte hier das Identifier generisch Organisationseinheiten abbilden und nicht Abteilungen allein."
* identifier[OrganisationseinheitenID].value 1.. MS
/*
* identifier[KIMAdresse] only $GEM_PR_KIM_AdressIdentifier
* identifier[KIMAdresse].type 0..1
* identifier[KIMAdresse].type = https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType#kim-2.0 (exactly)
* identifier[TIMAdresse] only $GEM_PR_TIM_AdressIdentifier
* identifier[TIMAdresse].type 0..1
* identifier[TIMAdresse].type = https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType#tim
*/

* active MS
* ^comment = "Motivation: Ein System oder eine Person muss prüfen können, ob eine Organisation aktiv ist oder nicht, sofern diese Information bereitgestellt wird."
* type MS
* ^comment = "Motivation: Ein System oder eine Person muss den Typ einer Organisation abrufen können, sofern diese Information bereitgestellt wird.
Die Festlegung einer endlichen Menge von Organisations-Formen in verbindlicher weise, ist zum Zeitpunkt der Festlegung nicht möglich."
* type ^slicing.discriminator.type = #pattern
* type ^slicing.discriminator.path = "$this"
* type ^slicing.rules = #open
* type ^slicing.ordered = false
* type contains
organisationstyp 0..1 MS and
fachabteilungsschluessel 0..1 MS
* type[organisationstyp] from $organization_type (extensible)
* type[organisationstyp].coding.system 1.. MS
* type[organisationstyp].coding.code 1.. MS
* type[fachabteilungsschluessel] from $FachabteilungsschluesselErweitertCS (required)
* type[fachabteilungsschluessel].coding.system 1.. MS
* type[fachabteilungsschluessel].coding.code 1.. MS
* name 1..1 MS
* ^comment = "Motivation: Einer Organisation oder Organisationseinheit muss ein Name zugewiesen werden."
* alias MS
Expand All @@ -54,3 +65,34 @@ Description: "Dieses Profil beschreibt die Nutzung von Organisationseinheiten in
* ^comment = "Motivation: Ein System oder eine Person muss Kontaktinformation einer Organisation abrufen können, sofern diese Information bereitgestellt wird."
* endpoint MS
* ^comment = "Motivation: Ein System oder eine Person muss den technischen Endpunt einer Organisation abrufen können, sofern diese Information bereitgestellt wird."


Instance: KrankenhausOrganisationBeispiel
InstanceOf: ISiKOrganisation
Usage: #example
* identifier[IKNR]
* identifier[IKNR].value = $identifier-iknr#260120196
* identifier[BSNR]
* identifier[BSNR].value = $identifier-iknr#345678975
* name = "Uniklinik Entenhausen"


Instance: AbteilungAllgemeinchirurgieOrganisationBeispiel
InstanceOf: ISiKOrganisation
Usage: #example
* identifier[OrganisationseinheitenID].system = "https://fhir.krankenhaus.example/sid/OrgaID"
* identifier[OrganisationseinheitenID].value = "123456"
* name = "Allgemeinchirurgie"
* type[organisationstyp] = $organization_type#dept
* type[fachabteilungsschluessel] = $FachabteilungsschluesselErweitertCS#1500 "Allgemeine Chirurgie"
* partOf = Reference(KrankenhausOrganisationBeispiel)

Instance: StationAllgemeinchirurgieOrganisationBeispiel
InstanceOf: ISiKOrganisation
Usage: #example
* identifier[OrganisationseinheitenID].system = "https://fhir.krankenhaus.example/sid/OrgaID"
* identifier[OrganisationseinheitenID].value = "654321"
* name = "Station 1 Allgemeinchirurgie"
* type[organisationstyp] = $organization_type#dept //TODO eine Differenzierung zwischen Station und Abteilung ist mittel CS an dieser Stelle nicht möglich; ggf. mittels wa|"Ward" aus LocationPhysicalType?
* type[fachabteilungsschluessel] = $FachabteilungsschluesselErweitertCS#1500 "Allgemeine Chirurgie"
* partOf = Reference(AbteilungAllgemeinchirurgieOrganisationBeispiel)
30 changes: 24 additions & 6 deletions Resources/input/fsh/ISiKStandort.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,30 @@ Parent: Location
Id: ISiKStandort
Description: "Dieses Profil dient der strukturierten Erfassung von Standortangaben eines Krankenhauses oder von Organisationseinheiten innerhalb eines Krankenhauses in ISiK-Szenarien."
* insert Meta
* identifier MS //Motivation entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location
* name MS //Motivation: Kein Name zwingend notwendig (z.B. für ein Zimmer), wenn über .identifier definierbar. weicht daher ab von https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location
* mode MS //Motivation entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location
* identifier MS //Motivation: entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location
* name MS //Motivation: Kein Name zwingend notwendig (z.B. für ein Zimmer), wenn über .identifier identifizierbar; weicht daher ab von https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location
* mode MS //Motivation: entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location
* ^patternCodeableConcept.coding = $LocationMode#instance
* address MS // TODO anpassen auf deutsche Adresse
* physicalType 1..1 MS //Motivation entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location
* managingOrganization 1..1 MS //Motivation entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location
* partOf 1..1 MS
* physicalType 1..1 MS //Motivation: entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location
* ^comment = "test"
* managingOrganization 1..1 MS //Motivation: entspricht https://simplifier.net/medizininformatikinitiative-modulstrukturdaten/sd_mii_struktur_location
* partOf MS


Instance: RaumStandortBeispiel
InstanceOf: ISiKStandort
Usage: #example
* physicalType = $LocationPhysicalType#ro "Room"
* managingOrganization = Reference(AbteilungAllgemeinchirurgieOrganisationBeispiel)


Instance: BettStandortBeispiel
InstanceOf: ISiKStandort
Usage: #example
* physicalType = $LocationPhysicalType#bd "Bed"
* managingOrganization = Reference(AbteilungAllgemeinchirurgieOrganisationBeispiel)
* partOf = Reference(RaumStandortBeispiel)



3 changes: 2 additions & 1 deletion Resources/input/fsh/aliases.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,5 @@ Alias: $kvnr30 = http://fhir.de/sid/gkv/kvnr-30
Alias: $GEM_PR_KIM_AdressIdentifier = https://gematik.de/fhir/atf/StructureDefinition/identifier-address-kim
Alias: $GEM_PR_TIM_AdressIdentifier = https://gematik.de/fhir/atf/StructureDefinition/identifier-address-tim
Alias: $identifier-iknr = http://fhir.de/StructureDefinition/identifier-iknr
Alias: $identifier-bsnr = http://fhir.de/StructureDefinition/identifier-bsnr
Alias: $identifier-bsnr = http://fhir.de/StructureDefinition/identifier-bsnr
Alias: $organization_type = http://terminology.hl7.org/CodeSystem/organization-type

0 comments on commit 19222fc

Please sign in to comment.