Skip to content

Commit

Permalink
use code as identifier of medication, replace indexes by names for pr…
Browse files Browse the repository at this point in the history
…actitioner identifier
  • Loading branch information
lpg-tech committed Dec 16, 2023
1 parent 12d0c26 commit bd5000c
Show file tree
Hide file tree
Showing 17 changed files with 92 additions and 48 deletions.
1 change: 1 addition & 0 deletions input/fsh/ALIASES.fsh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Terminologies, CodeSystems
Alias: $sct = http://snomed.info/sct
Alias: $loinc = http://loinc.org
Alias: $atc = http://www.whocc.no/atc
Alias: $v2-0203 = http://terminology.hl7.org/CodeSystem/v2-0203
Alias: $v2-0038 = http://terminology.hl7.org/CodeSystem/v2-0038 // orderStatus
Alias: $v2-0074 = http://terminology.hl7.org/CodeSystem/v2-0074 // diagnosticServiceSectionId
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,13 +178,18 @@ Usage: #example
* subject = Reference(Patient/BirgitBlum)

Instance: Liquemin
InstanceOf: Medication
InstanceOf: ChLabOrderMedication
Description: "Example for best-practice of laboratory order"
Usage: #example
//* contained = mmanu
* identifier.id = "123456789"
* code = $sct#412201008 "Porcine heparin (substance)"

/*A code (or set of codes) that specify this medication, or a textual description if no code is available. Usage note: This could be a standard medication code such as a code from RxNorm, SNOMED CT, IDMP etc. It could also be a national or local formulary code, optionally with translations to other code systems.*/

* code.coding[GTIN] = urn:oid:2.51.1.1#7680388470010 "LIQUEMIN 5000 IE/0.5ml s.c. (aH 06/23)"
* code.coding[PHARMACODE] = urn:oid:2.16.756.5.30.2.6#6687498
* code.coding[ATC] = $atc#B01AB01 "Heparin"
// * code = $sct#412201008 "Porcine heparin (substance)"
* code.text = "LIQUEMIN 5000 IE/0.5ml s.c. (aH 06/23)"

* status = #active
// * marketingAuthorizationHolder.reference = "#mmanu"
// * doseForm.coding.system = "http://snomed.info/sct"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,10 @@ InstanceOf: CHCorePractitioner
Title: "Peter Pap"
Description: "Practitioner, works at Gruppenpraxis, refers to 3-gyn"
Usage: #example
* identifier[0].system = "urn:oid:2.51.1.3" // GLN
* identifier[=].value = "7601003050707"
* identifier[+].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1" // ZSR
* identifier[=].value = "A123305"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601003050707"
* identifier[ZSR].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
* identifier[ZSR].value = "A123305"
* name.use = #official
* name.family = "Pap"
* name.given = "Peter"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,10 @@ InstanceOf: CHCorePractitioner
Title: "Hans Hauser"
Description: "Practitioner, Senior Physician at Kantonsspital, refers to 4-sepsis"
Usage: #example
* identifier[0].system = "urn:oid:2.51.1.3"
* identifier[=].value = "7601000050700"
* identifier[+].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1" // ZSR
* identifier[=].value = "A123313"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601000050700"
* identifier[ZSR].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1" // ZSR
* identifier[ZSR].value = "A123313"
* name.use = #official
* name.family = "Hauser"
* name.given = "Hans"
Expand All @@ -99,8 +99,8 @@ InstanceOf: CHCoreOrganization
Title: "Kantonsspital"
Description: "Example for Hospital"
Usage: #example
* identifier.system = "urn:oid:2.51.1.3"
* identifier.value = "7601000235503"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601000235503"
* name = "Kantonsspital Zug"
* telecom[0].system = #phone
* telecom[=].value = "+41 45 334 55 66"
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/instances/organization/Arztpraxis.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ InstanceOf: CHCoreOrganization
Title: "Arztpraxis"
Description: "Practice, refers to 2-pertussis and 3-gyn and 6-histopath"
Usage: #example
* identifier.system = "urn:oid:2.51.1.3"
* identifier.value = "7601000235503"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601000235503"
* name = "Arztpraxis Messen"
* telecom[0].system = #phone
* telecom[=].value = "+41555545566"
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/instances/organization/Gruppenpraxis.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ InstanceOf: CHCoreOrganizationEPR
Title: "Praxis Seeblick"
Description: "Example for group practice"
Usage: #example
* identifier.system = "urn:oid:2.51.1.3"
* identifier.value = "7601000241115"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601000241115"
* name = "Gruppenpraxis Olten"
* telecom[0].system = #phone
* telecom[=].value = "+41555556677"
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/instances/organization/LaborGantenbein.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ InstanceOf: CHCoreOrganization
Title: "Labor Gantenbein"
Description: "Laboratory Organization, refers to all Storyboards"
Usage: #example
* identifier.system = "urn:oid:2.51.1.3"
* identifier.value = "7601055231116"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601055231116"
* name = "Labor Gantenbein"
* telecom[0].system = #phone
* telecom[=].value = "+41223345566"
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/instances/organization/LaborPipette.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ InstanceOf: CHCoreOrganization
Title: "Labor Pipette"
Description: "Laboratory Organization, refers to all Storyboards"
Usage: #example
* identifier.system = "urn:oid:2.51.1.3"
* identifier.value = "7601000234407"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601000234407"
* name = "Labor Pipette"
* telecom[0].system = #phone
* telecom[=].value = "+41223345566"
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/instances/organization/LaborSchildknecht.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ InstanceOf: CHCoreOrganization
Title: "Labor Schildknecht"
Description: "Laboratory Organization, refers to all Storyboards"
Usage: #example
* identifier.system = "urn:oid:2.51.1.3"
* identifier.value = "7601055231222"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601055231222"
* name = "Labor Schildknecht"
* telecom[0].system = #phone
* telecom[=].value = "+41223345222"
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/instances/organization/PraxisSeeblick.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ InstanceOf: CHCoreOrganization
Title: "Praxis Seeblick"
Description: "Example for practice"
Usage: #example
* identifier.system = "urn:oid:2.51.1.3"
* identifier.value = "7601230235526"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601230235526"
* name = "Arztpraxis Messen"
* telecom[0].system = #phone
* telecom[=].value = "44 567 78 90"
Expand Down
4 changes: 2 additions & 2 deletions input/fsh/instances/organization/RegionalspitalZugersee.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ InstanceOf: CHCoreOrganization
Title: "Regionalspital Zugersee"
Description: "Example for hospital"
Usage: #example
* identifier.system = "urn:oid:2.51.1.3"
* identifier.value = "7601980235500"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601980235500"
* name = "Regionalspital Zugersee"
* telecom[0].system = #phone
* telecom[=].value = "+41 45 334 55 66"
Expand Down
8 changes: 4 additions & 4 deletions input/fsh/instances/practitioner/ArminAhrens.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ InstanceOf: CHCorePractitioner
Title: "Armin Ahrens"
Description: "Practitioner, works in Arztpraxis, refers to 6-histopath"
Usage: #example
* identifier[0].system = "urn:oid:2.51.1.3"
* identifier[=].value = "7601000050700"
* identifier[+].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1" // ZSR
* identifier[=].value = "A123309"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601000050700"
* identifier[ZSR].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1" // ZSR
* identifier[ZSR].value = "A123309"
* name.use = #official
* name.family = "Ahrens"
* name.given = "Armin"
Expand Down
8 changes: 4 additions & 4 deletions input/fsh/instances/practitioner/EvaErlenmeyer.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ InstanceOf: CHCorePractitioner
Title: "Eva Erlenmeyer"
Description: "Specialist for Laboratory Medicine, works in Labor Pipette"
Usage: #example
* identifier[0].system = "urn:oid:2.51.1.3" // GLN
* identifier[=].value = "7601000050717"
* identifier[+].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1" // ZSR
* identifier[=].value = "A123315"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601000050717"
* identifier[ZSR].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
* identifier[ZSR].value = "A123315"
* name.use = #official
* name.family = "Erlenmeyer"
* name.given = "Eva"
Expand Down
8 changes: 4 additions & 4 deletions input/fsh/instances/practitioner/MarcApgar.fsh
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Instance: MarcApgar
InstanceOf: CHCorePractitioner
Usage: #inline
* identifier[0].system = "urn:oid:2.51.1.3" // GLN
* identifier[=].value = "7601000050717"
* identifier[+].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1" // ZSR
* identifier[=].value = "A123311"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601000050717"
* identifier[ZSR].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
* identifier[ZSR].value = "A123311"
* name.family = "Agpar"
* name.given = "Marc"
* telecom.system = #email
Expand Down
10 changes: 6 additions & 4 deletions input/fsh/instances/practitioner/MarcMustermann.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ InstanceOf: CHCorePractitioner
Title: "Marc Mustermann, Practitioner"
Description: "Practitioner, works in Gruppenpraxis"
Usage: #example
* identifier[0].system = "urn:oid:2.51.1.3"
* identifier[=].value = "7601000050700"
* identifier[+].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1" // ZSR
* identifier[=].value = "A123309"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601000050700"

* identifier[ZSR].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
* identifier[ZSR].value = "A123309"

* name.use = #official
* name.family = "Mustermann"
* name.given = "Marc"
Expand Down
8 changes: 4 additions & 4 deletions input/fsh/instances/practitioner/SabineMeier.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ InstanceOf: CHCorePractitioner
Title: "Sabine Meier"
Description: "Practitioner, works in Kantonsspital, refers to 4-sepsis"
Usage: #example
* identifier[0].system = "urn:oid:2.51.1.3" // GLN
* identifier[=].value = "7601000034823"
* identifier[+].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1" // ZSR
* identifier[=].value = "A123321"
* identifier[GLN].system = "urn:oid:2.51.1.3"
* identifier[GLN].value = "7601000034823"
* identifier[ZSR].system = "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
* identifier[ZSR].value = "A123321"
* name.use = #official
* name.family = "Meier"
* name.given = "Sabine"
Expand Down
36 changes: 36 additions & 0 deletions input/fsh/profiles/ChLabOrderMedication.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Profile : ChLabOrderMedication
Parent: Medication
Title: "CH LAB-Order Medication"
Description: "Medication in Lab Order"

* code.coding ^slicing.discriminator.type = #value
* code.coding ^slicing.discriminator.path = "system"
* code.coding ^slicing.rules = #open
* code.coding ^short = "Code of the medication"
* code.coding contains
GTIN 0..* and
PHARMACODE 0..* and
ATC 0..*

* code.coding[GTIN] ^short = "Use GTIN for Swiss products"
* code.coding[GTIN] ^mustSupport = true
* code.coding[GTIN].system 1..1
* code.coding[GTIN].system = "urn:oid:2.51.1.1" (exactly)
* code.coding[GTIN].system ^short = "Global Trade Item Number (GS1)"
* code.coding[GTIN].code 1..1

* code.coding[PHARMACODE] ^short = "Numeric identification key for Swiss products"
* code.coding[PHARMACODE] ^mustSupport = true
* code.coding[PHARMACODE].system 1..1
* code.coding[PHARMACODE].system = "urn:oid:2.16.756.5.30.2.6" (exactly)
* code.coding[PHARMACODE].system ^short = "Pharmacode(Schweiz)"
* code.coding[PHARMACODE].code 1..1

* code.coding[ATC] ^short = "Use ATC for foreign products"
* code.coding[ATC].system 1..1
* code.coding[ATC].system = "http://www.whocc.no/atc" (exactly)
* code.coding[ATC].system ^short = "Anatomical Therapeutic Chemical (ATC) Classification"
* code.coding[ATC].code 1..1

* code.text 1.. MS
* code.text ^short = "Medication name"

0 comments on commit bd5000c

Please sign in to comment.