Skip to content

Commit

Permalink
add ServiceRequest examples
Browse files Browse the repository at this point in the history
  • Loading branch information
lpg-tech committed Jun 26, 2023
1 parent 132e335 commit 3289ead
Show file tree
Hide file tree
Showing 22 changed files with 314 additions and 134 deletions.
2 changes: 1 addition & 1 deletion input/fsh/instances/LabOrder-Document.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Usage: #example
* entry[+].fullUrl = "http://example.com/fhir/QuestionnaireResponse/LabOrder-qr" //entry[6]
* entry[=].resource = LabOrder-QuestionnaireResponse

* entry[+].fullUrl = "http://example.com/fhir/ServiceRequest/LabOrder-sr-potassium" // entry[7]
* entry[+].fullUrl = "http://example.com/fhir/ServiceRequest/LabOrder-potassium" // entry[7]
* entry[=].resource = LabOrder-ServiceRequest-potassium

// // ---- SR for Coagulation Tests ----
Expand Down
35 changes: 35 additions & 0 deletions input/fsh/instances/LabOrder-ServiceRequest-chloride.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Instance: LabOrder-ServiceRequest-chloride
InstanceOf: ChLabOrderSRSingletest
Title: "LabOrder Service Request for Clinical Chemistry Tests"
Description: "Example for Service Request of Chloride [Moles/volume] in Serum or Plasma"
Usage: #example
* id = "LabOrder-chloride"
* identifier[placerOrderIdentifier].type = $v2-0203#PLAC "Placer Identifier"
* identifier[placerOrderIdentifier].system = "urn:oid:2.16.756.5.30"
* identifier[placerOrderIdentifier].value = "123"
* instantiatesCanonical = "http://fhir.ch/ig/ch-lab-order/lab-compendium/ActivityDefinition/procedure-chloride-serum"

// ---- grouperID, must be repeated in all dependent SR ----
* requisition.type = $v2-0203#PLAC "Placer Identifier"
* requisition.system = "urn:oid:2.16.756.5.30"
* requisition.value = "ReqID-1234567"

* status = #active
* intent = #original-order
* category = $servicerequest-categories#RequestForLabExam "Anforderung Laboruntersuchung"

// What is being ordered
// * basedOn = Reference(SR-example)
// ---- Clinical Chemistry Tests ----
* code.coding[0] = $loinc#2075-0 "Chloride [Moles/volume] in Serum or Plasma"

// orderDetails: Additional order information, codeableConcept

* priority = #urgent
* subject = Reference(Patient/HansGuggindieluft)
* requester = Reference(MarcMustermannArztpraxis)
* reasonCode = $sct#90688005
* reasonCode.text = "Chronic renal failure syndrome (disorder)"
* insurance = Reference(HealthInsuranceCard)
* specimen[0] = Reference(Specimen/Serum) "Serum specimen"
// * specimen[+] = Reference(Specimen/Blood)
27 changes: 0 additions & 27 deletions input/fsh/instances/LabOrder-ServiceRequest-coag.fsh

This file was deleted.

29 changes: 0 additions & 29 deletions input/fsh/instances/LabOrder-ServiceRequest-container.fsh

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Instance: LabOrder-ServiceRequest-creatinine-clearance
InstanceOf: ChLabOrderSRSingletest
Title: "LabOrder Service Request for Creatinine clearance"
Description: "Example for Service Request of Creatinine [Moles/volume] and 24h Urin Creatinen"
Usage: #example
* id = "LabOrder-creatinine-clearance"
* identifier[placerOrderIdentifier].type = $v2-0203#PLAC "Placer Identifier"
* identifier[placerOrderIdentifier].system = "urn:oid:2.16.756.5.30"
* identifier[placerOrderIdentifier].value = "123"
* instantiatesCanonical = "http://fhir.ch/ig/ch-lab-order/lab-compendium/ActivityDefinition/procedure-creatinine-clearance"

// der SR referenziert auf 3 weitere SR
* basedOn[0] = Reference(LabOrder-ServiceRequest-urine24h-creatinine)
* basedOn[+] = Reference(LabOrder-ServiceRequest-creatinine)

// ---- grouperID, must be repeated in all dependent SR ----
* requisition.type = $v2-0203#PLAC "Placer Identifier"
* requisition.system = "urn:oid:2.16.756.5.30"
* requisition.value = "ReqID-1234567"

* status = #active
* intent = #original-order
* category = $servicerequest-categories#RequestForLabExam "Anforderung Laboruntersuchung"

// What is being ordered
// * basedOn = Reference(SR-example)
// ---- Clinical Chemistry Tests ----
* code.coding[0] = $loinc#2164-2 "Creatinine renal clearance in 24 hour Urine and Serum or Plasma"

// orderDetails: Additional order information, codeableConcept

* priority = #urgent
* subject = Reference(Patient/HansGuggindieluft)
* requester = Reference(MarcMustermannArztpraxis)
* reasonCode = $sct#90688005
* reasonCode.text = "Chronic renal failure syndrome (disorder)"
* insurance = Reference(HealthInsuranceCard)
* specimen[0] = Reference(Specimen/Serum) "Serum specimen"
// * specimen[+] = Reference(Specimen/Blood)
35 changes: 35 additions & 0 deletions input/fsh/instances/LabOrder-ServiceRequest-creatinine.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Instance: LabOrder-ServiceRequest-creatinine
InstanceOf: ChLabOrderSRSingletest
Title: "LabOrder Service Request for Serum Creatinine"
Description: "Example for Service Request of Creatinine [Moles/volume] in Serum or Plasma"
Usage: #example
* id = "LabOrder-creatinine"
* identifier[placerOrderIdentifier].type = $v2-0203#PLAC "Placer Identifier"
* identifier[placerOrderIdentifier].system = "urn:oid:2.16.756.5.30"
* identifier[placerOrderIdentifier].value = "123"
* instantiatesCanonical = "http://fhir.ch/ig/ch-lab-order/lab-compendium/ActivityDefinition/procedure-creatinine-serum"

// ---- grouperID, must be repeated in all dependent SR ----
* requisition.type = $v2-0203#PLAC "Placer Identifier"
* requisition.system = "urn:oid:2.16.756.5.30"
* requisition.value = "ReqID-1234567"

* status = #active
* intent = #original-order
* category = $servicerequest-categories#RequestForLabExam "Anforderung Laboruntersuchung"

// What is being ordered
// * basedOn = Reference(SR-example)
// ---- Clinical Chemistry Tests ----
* code.coding[0] = $loinc#14682-9 "Creatinine [Moles/volume] in Serum or Plasma"

// orderDetails: Additional order information, codeableConcept

* priority = #urgent
* subject = Reference(Patient/HansGuggindieluft)
* requester = Reference(MarcMustermannArztpraxis)
* reasonCode = $sct#90688005
* reasonCode.text = "Chronic renal failure syndrome (disorder)"
* insurance = Reference(HealthInsuranceCard)
* specimen[0] = Reference(Specimen/Serum) "Serum specimen"
// * specimen[+] = Reference(Specimen/Blood)
35 changes: 35 additions & 0 deletions input/fsh/instances/LabOrder-ServiceRequest-electrolytes.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Instance: LabOrder-ServiceRequest-electrolytes
InstanceOf: ChLabOrderSRContainer
Title: "LabOrder Service Request for Electrolytes in Serum"
Description: "Example for Service Request as container for multiple Service Requests"
Usage: #example
* id = "LabOrder-electrolytes"
* identifier[placerOrderIdentifier].type = $v2-0203#PLAC "Placer Identifier"
* identifier[placerOrderIdentifier].system = "urn:oid:2.16.756.5.30"
* identifier[placerOrderIdentifier].value = "123"
* instantiatesCanonical = "http://fhir.ch/ig/ch-lab-order/lab-compendium/ActivityDefinition/procedure-sodium-serum"
* instantiatesCanonical = "http://fhir.ch/ig/ch-lab-order/lab-compendium/ActivityDefinition/procedure-potassium-serum"
* instantiatesCanonical = "http://fhir.ch/ig/ch-lab-order/lab-compendium/ActivityDefinition/procedure-chloride-serum"

// der SR referenziert auf 3 weitere SR
* basedOn[0] = Reference(LabOrder-ServiceRequest-sodium)
* basedOn[+] = Reference(LabOrder-ServiceRequest-potassium)
* basedOn[+] = Reference(LabOrder-ServiceRequest-chloride) // TODO

// ---- grouperID, must be repeated in all dependent SR ----
* requisition.type = $v2-0203#PLAC "Placer Identifier"
* requisition.system = "urn:oid:2.16.756.5.30"
* requisition.value = "ReqID-1234567"

* status = #active
* intent = #original-order
* category = $servicerequest-categories#RequestForLabExam "Anforderung Laboruntersuchung"

* priority = #urgent
* subject = Reference(Patient/HansGuggindieluft)
* requester = Reference(MarcMustermannArztpraxis)
* reasonCode = $sct#404223003
* reasonCode.text = "Deep venous thrombosis of lower extremity"
* insurance = Reference(HealthInsuranceCard)
* specimen[0] = Reference(Specimen/Serum) "Serum specimen"
// * specimen[+] = Reference(Specimen/Blood)
42 changes: 26 additions & 16 deletions input/fsh/instances/LabOrder-ServiceRequest-generic.fsh
Original file line number Diff line number Diff line change
@@ -1,25 +1,35 @@
Instance: LabOrder-ServiceRequest-generic
InstanceOf: ChOrfServiceRequest
Title: "laborder lab"
Description: "Example for generic Service Request"
InstanceOf: ChLabOrderSRSingletest
Title: "LabOrder Service Request some single test"
Description: "Example for Service Request single test"
Usage: #example
* id = "LabOrder-generic"
* identifier[placerOrderIdentifier].type = $v2-0203#PLAC "Placer Identifier"
* identifier[placerOrderIdentifier].system = "urn:oid:2.16.756.5.30"
* identifier[placerOrderIdentifier].value = "7601000234407" // Prefix 760..769 is GS1 Schweiz, Suisse, Svizzera
// * identifier[+].type = $v2-0203#FILL "Filler Identifier"
// * identifier[=].system = "http://example.com/identifier"
// * identifier[=].value = "456"
* identifier[placerOrderIdentifier].value = "123"
* instantiatesCanonical = "http://fhir.ch/ig/ch-lab-order/lab-compendium/ActivityDefinition/procedure-hemoglobine-panel"

// ---- grouperID, must be repeated in all dependent SR ----
* requisition.type = $v2-0203#PLAC "Placer Identifier"
* requisition.system = "urn:oid:2.16.756.5.30"
* requisition.value = "ReqID-1234567"

* status = #active
* intent = #original-order
* category = $sct#108252007
* category.text = "Laboratory procedure (procedure)"
* category = $servicerequest-categories#RequestForLabExam "Anforderung Laboruntersuchung"

// What is being ordered
// * basedOn = Reference(SR-example)
// ---- Clinical Chemistry Tests ----
* code.coding[0] = $loinc#59260-0 "Hemoglobin [Moles/volume] in Blood"

// orderDetails: Additional order information, codeableConcept

* priority = #urgent
* subject = Reference(HansGuggindieluft)
* subject = Reference(Patient/HansGuggindieluft)
* requester = Reference(MarcMustermannArztpraxis)
* performerType = $sct#61246008
* performerType.text = "Laboratory medicine specialist (occupation)"
* performer = Reference(EvaErlenmeyerLaborPipette)
* reasonCode = $sct#404223003
* reasonCode.text = "Deep venous thrombosis of lower extremity"
* reasonCode = $sct#90688005
* reasonCode.text = "Chronic renal failure syndrome (disorder)"
* insurance = Reference(HealthInsuranceCard)
* specimen = Reference(Serum) "Serum specimen"
* specimen[0] = Reference(Specimen/Blood) "Blood"
// * specimen[+] = Reference(Specimen/Blood)
41 changes: 0 additions & 41 deletions input/fsh/instances/LabOrder-ServiceRequest-hem.fsh

This file was deleted.

6 changes: 3 additions & 3 deletions input/fsh/instances/LabOrder-ServiceRequest-potassium.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ InstanceOf: ChLabOrderSRSingletest
Title: "LabOrder Service Request for Clinical Chemistry Tests"
Description: "Example for Service Request of Potassium [Moles/volume] in Serum or Plasma"
Usage: #example
* id = "LabOrder-sr-potassium"
* id = "LabOrder-potassium"
* identifier[placerOrderIdentifier].type = $v2-0203#PLAC "Placer Identifier"
* identifier[placerOrderIdentifier].system = "urn:oid:2.16.756.5.30"
* identifier[placerOrderIdentifier].value = "123"
Expand All @@ -28,8 +28,8 @@ Usage: #example
* priority = #urgent
* subject = Reference(Patient/HansGuggindieluft)
* requester = Reference(MarcMustermannArztpraxis)
* reasonCode = $sct#404223003
* reasonCode.text = "Deep venous thrombosis of lower extremity"
* reasonCode = $sct#90688005
* reasonCode.text = "Chronic renal failure syndrome (disorder)"
* insurance = Reference(HealthInsuranceCard)
* specimen[0] = Reference(Specimen/Serum) "Serum specimen"
// * specimen[+] = Reference(Specimen/Blood)
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
Instance: LabOrder-ServiceRequest-cc
InstanceOf: ChOrfServiceRequest
Instance: LabOrder-ServiceRequest-sodium
InstanceOf: ChLabOrderSRSingletest
Title: "LabOrder Service Request for Clinical Chemistry Tests"
Description: "Example for Service Request due to suspected deep vein thrombosis"
Description: "Example for Service Request of Sodium [Moles/volume] in Serum or Plasma"
Usage: #example
* id = "LabOrder-cc"
* id = "LabOrder-sodium"
* identifier[placerOrderIdentifier].type = $v2-0203#PLAC "Placer Identifier"
* identifier[placerOrderIdentifier].system = "urn:oid:2.16.756.5.30"
* identifier[placerOrderIdentifier].value = "123"
* instantiatesCanonical = "http://fhir.ch/ig/ch-lab-order/lab-compendium/ActivityDefinition/procedure-sodium-serum"

// ---- grouperID, must be repeated in all dependent SR ----
* requisition.type = $v2-0203#PLAC "Placer Identifier"
* requisition.system = "urn:oid:2.16.756.5.30"
* requisition.value = "ReqID-1234567"

* status = #active
* intent = #original-order
Expand All @@ -15,16 +21,15 @@ Usage: #example
// What is being ordered
// * basedOn = Reference(SR-example)
// ---- Clinical Chemistry Tests ----
* code.coding[0] = $loinc#1988-5 "C reactive protein [Mass/Volume] in Serum or Plasma"
* code.coding[+] = $loinc#76485-2 "C reactive protein [Moles/volume] in Serum or Plasma"
* code.coding[0] = $loinc#2951-2 "Sodium [Moles/volume] in Serum or Plasma"

// orderDetails: Additional order information, codeableConcept

* priority = #urgent
* subject = Reference(Patient/HansGuggindieluft)
* requester = Reference(MarcMustermannArztpraxis)
* reasonCode = $sct#404223003
* reasonCode.text = "Deep venous thrombosis of lower extremity"
* reasonCode = $sct#90688005
* reasonCode.text = "Chronic renal failure syndrome (disorder)"
* insurance = Reference(HealthInsuranceCard)
* specimen[0] = Reference(Specimen/Serum) "Serum specimen"
// * specimen[+] = Reference(Specimen/Blood)
Loading

0 comments on commit 3289ead

Please sign in to comment.