Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix relative time #1

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
7 changes: 3 additions & 4 deletions input/fsh/QI1-TaeglicheVisite/QI1_intervention.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Description: "Every Intensive Care Patient should be visited daily in multiprofe

// Define Intervention
* insert rs-combination-all
* action[other][+] // TODO: Check all slice names
* action[other][+]
* definitionCanonical = Canonical(DailyMultiprofessionalWardRoundsAction)
* code = $sct#74964007 "Other (qualifier value)"

Expand All @@ -31,9 +31,8 @@ Description: "Every Intensive Care Patient is visited daily in multiprofessional
* insert canonical-url(DIVI-DigiQIs, recommended-action/daily-ward-rounds)
* insert publisher-experimental-version(7.0)
* status = #active
* code = $divi-qi-s#VISITE-FA-ZB-ITS "Multidisciplinary ward round led by an intensive care specialist"
* code = $cs-divi-qi-s#VISITE-FA-ZB-ITS "Multidisciplinary ward round led by an intensive care specialist"
* kind = $cs-fhir-types#Task "Task"
//* code = $sct#1236923003 "Participation in multidisciplinary ward round"
* timingTiming
* repeat
* frequency = 1
Expand Down Expand Up @@ -75,7 +74,7 @@ Description: "Daily Treatment Goals are set at least once every day."
* insert canonical-url(DIVI-DigiQIs, recommended-action/daily-treatment-goals)
* insert publisher-experimental-version(7.0)
* status = #active
* code = $divi-qi-s#TAGESZIEL "Setting daily treatment goals"
* code = $cs-divi-qi-s#TAGESZIEL "Setting daily treatment goals"
* kind = $cs-fhir-types#Task "Task"
* timingTiming
* repeat
Expand Down
75 changes: 33 additions & 42 deletions input/fsh/QI2-SedierungAnalgesieDelir/QI2_intervention.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,8 @@ Description: "Sedation should be assessed once between 6 AM and <2 PM every day.
* kind = $cs-fhir-types#ServiceRequest "ServiceRequest"
* timingTiming
* repeat
* frequency = 1
* period = 1
* periodUnit = $ucum#d "day" //Zwischen 6-14 Uhr // TODO: hier einfügen und bei allen weiteren unten auch
* count = 1
* when = $cs-fhir-event-timing#MORN "Morning"

Instance: SedationAssessmentLateShift
InstanceOf: RecommendationAction
Expand All @@ -77,9 +76,8 @@ Description: "Sedation should be assessed once between 2 AM and <10 PM every day
* kind = $cs-fhir-types#ServiceRequest "ServiceRequest"
* timingTiming
* repeat
* frequency = 1
* period = 1
* periodUnit = $ucum#d "day" //Zwischen 14-22 Uhr
* count = 1
* when = $cs-fhir-event-timing#AFT "Afternoon"

Instance: SedationAssessmentNightShift
InstanceOf: RecommendationAction
Expand All @@ -94,9 +92,8 @@ Description: "Sedation should be assessed once between 10 PM and <6 AM every day
* kind = $cs-fhir-types#ServiceRequest "ServiceRequest"
* timingTiming
* repeat
* frequency = 1
* period = 1
* periodUnit = $ucum#d "day" //Zwischen 22-6 Uhr
* count = 1
* when = $cs-fhir-event-timing#NIGHT "Night"

Instance: PainAssessmentEarlyShift
InstanceOf: RecommendationAction
Expand All @@ -111,9 +108,8 @@ Description: "Pain should be assessed once between 6 AM and <2 PM every day."
* kind = $cs-fhir-types#ServiceRequest "ServiceRequest"
* timingTiming
* repeat
* frequency = 1
* period = 1
* periodUnit = $ucum#d "day" //Zwischen 6-14 Uhr
* count = 1
* when = $cs-fhir-event-timing#MORN "Morning"

Instance: PainAssessmentLateShift
InstanceOf: RecommendationAction
Expand All @@ -128,9 +124,8 @@ Description: "Pain should be assessed once between 2 AM and <10 PM every day."
* kind = $cs-fhir-types#ServiceRequest "ServiceRequest"
* timingTiming
* repeat
* frequency = 1
* period = 1
* periodUnit = $ucum#d "day" //Zwischen 14-22 Uhr
* count = 1
* when = $cs-fhir-event-timing#AFT "Afternoon"

Instance: PainAssessmentNightShift
InstanceOf: RecommendationAction
Expand All @@ -145,9 +140,8 @@ Description: "Pain should be assessed once between 10 PM and <6 AM every day."
* kind = $cs-fhir-types#ServiceRequest "ServiceRequest"
* timingTiming
* repeat
* frequency = 1
* period = 1
* periodUnit = $ucum#d "day" //Zwischen 22-6 Uhr
* count = 1
* when = $cs-fhir-event-timing#NIGHT "Night"

Instance: DeliriumAssessmentEarlyShift
InstanceOf: RecommendationAction
Expand All @@ -162,9 +156,8 @@ Description: "Delirium should be assessed once between 6 AM and <2 PM every day.
* kind = $cs-fhir-types#ServiceRequest "ServiceRequest"
* timingTiming
* repeat
* frequency = 1
* period = 1
* periodUnit = $ucum#d "day" //Zwischen 6-14 Uhr
* count = 1
* when = $cs-fhir-event-timing#MORN "Morning"

Instance: DeliriumAssessmentLateShift
InstanceOf: RecommendationAction
Expand All @@ -179,9 +172,8 @@ Description: "Delirium should be assessed once between 2 AM and <10 PM every day
* kind = $cs-fhir-types#ServiceRequest "ServiceRequest"
* timingTiming
* repeat
* frequency = 1
* period = 1
* periodUnit = $ucum#d "day" //Zwischen 14-22 Uhr
* count = 1
* when = $cs-fhir-event-timing#AFT "Afternoon"

Instance: DeliriumAssessmentNightShift
InstanceOf: RecommendationAction
Expand All @@ -196,9 +188,8 @@ Description: "Delirium should be assessed once between 10 PM and <6 AM every day
* kind = $cs-fhir-types#ServiceRequest "ServiceRequest"
* timingTiming
* repeat
* frequency = 1
* period = 1
* periodUnit = $ucum#d "day" //Zwischen 22-6 Uhr
* count = 1
* when = $cs-fhir-event-timing#NIGHT "Night"



Expand Down Expand Up @@ -238,8 +229,8 @@ Description: "Sedation Level, Analgesia Level and Delirium Status should be in a
* target[+]
* measure = $sct-us#457441000124102 "Richmond agitation-sedation scale"
* detailRange
* low = -1 '' ""
* high = 1 '' ""// todo: check if this is correct
* low.value = -1
* high.value = 1

// Define Goal for Analgesia Assessment per NRS
* goal[assessmentScale][+]
Expand All @@ -249,8 +240,8 @@ Description: "Sedation Level, Analgesia Level and Delirium Status should be in a
* target[+]
* measure = $sct-int#1284852002 "Numeric Pain Rating Scale"
* detailRange
* low = 0 '' ""// todo: check if this is correct
* high = 3 '' ""
* low.value = 0
* high.value = 3

// Define Goal for Analgesia Assessment per VAS
* goal[assessmentScale][+]
Expand All @@ -260,38 +251,38 @@ Description: "Sedation Level, Analgesia Level and Delirium Status should be in a
* target[+]
* measure = $sct#273904000 "Visual analog pain scale"
* detailRange
* low = 0 '' ""
* high = 3 '' ""// todo: check if this is correct
* low.value = 0
* high.value = 3

// Define Goal for Analgesia Assessment per BPS
* goal[assessmentScale][+]
* category = $sct#273249006 "Assessment scales (assessment scale)"
* id = "analgesia-bps-inrange-goal"
* description.text = "Analgesia Level should be within BPS scores of 0 to 3"
* target[+]
* measure = $divi-qi-s#BPS "Behavioral Pain Scale"
* measure = $cs-divi-qi-s#BPS "Behavioral Pain Scale"
* detailRange
* low = 0 '' ""
* high = 3 '' ""// todo: check if this is correct
* low.value = 0
* high.value = 3

// Define Goal for Delirium Assessment per CAM-ICU
* goal[assessmentScale][+]
* category = $sct#273249006 "Assessment scales (assessment scale)"
* id = "delirium-camicu-inrange-goal"
* description.text = "Delirium Status should be within CAM-ICU scores of 0 (No Delirium)"
* target[+]
* measure = $divi-qi-s#CAM-ICU "CAM-ICU"
* measure = $cs-divi-qi-s#CAM-ICU "CAM-ICU"
* detailRange
* low = 0 '' ""
* high = 0 '' ""// todo: check if this is correct
* low.value = 0
* high.value = 0

// Define Goal for Delirium Assessment per ICDSC
* goal[assessmentScale][+]
* category = $sct#273249006 "Assessment scales (assessment scale)"
* id = "delirium-icdsc-inrange-goal"
* description.text = "Delirium Status should be within ICDSC scores of 0 (No Delirium)"
* target[+]
* measure = $divi-qi-s#ICDSC "ICDSC"
* measure = $cs-divi-qi-s#ICDSC "Intensive Care Delirium Screening Checklist (ICDSC) score"
* detailRange
* low = 0 '' ""
* high = 0 '' "" // todo: check if this is correct
* low.value = 0
* high.value = 0
15 changes: 8 additions & 7 deletions input/fsh/QI4-Weaning/QI4_intervention.fsh
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// TODO: is the basis here (for population) the patient or the device?

Instance: PeriodicAssessmentOfWeaning
InstanceOf: recommendation-plan
Usage: #definition
Expand All @@ -19,10 +17,12 @@ Description: "All invasive ventilated Intensive Care Patients should be evaluate

// Define Intervention
* insert rs-combination-any
* action[other][+]
* action[other][+]
* subjectCodeableConcept = $sct#706172005 "Ventilator (physical object)"
* definitionCanonical = Canonical(DailyWeaningAssessments)
* code = $sct#74964007 "Other (qualifier value)"
* action[other][+]
* action[other][+]
* subjectCodeableConcept = $sct#706172005 "Ventilator (physical object)"
* definitionCanonical = Canonical(DailyWeaningTrials)
* code = $sct#74964007 "Other (qualifier value)"

Expand All @@ -37,7 +37,7 @@ Description: "Readiness-to-wean from mechanical ventilation is assessed periodic
* insert canonical-url(DIVI-DigiQIs, recommended-action/daily-weaning-assessments)
* insert publisher-experimental-version(7.0)
* status = #active
* code = $divi-qi-s#EVAL-VENT-WEAN "Assessment of Readiness-to-wean from mechanical ventilation"
* code = $cs-divi-qi-s#EVAL-VENT-WEAN "Assessment of Readiness-to-wean from mechanical ventilation"
* kind = $cs-fhir-types#Task "Task"
* timingTiming
* repeat
Expand Down Expand Up @@ -87,7 +87,7 @@ Description: "The fraction of patients discharged with dependence on home ventil
* code = $sct#74964007 "Other (qualifier value)"

// Recommended Action
Instance: NoDischargeWithHomeVentilation // TODO: doNotPerform flag
Instance: NoDischargeWithHomeVentilation
InstanceOf: RecommendationAction
Usage: #definition
Title: "No Discharge with Home Ventilation"
Expand All @@ -102,4 +102,5 @@ Description: "The patient is not discharged with home ventilation."
* repeat
* frequency = 1
* period = 1
* periodUnit = $ucum#d "day"
* periodUnit = $ucum#d "day"
* doNotPerform = true
2 changes: 0 additions & 2 deletions input/fsh/QI4-Weaning/QI4_population.fsh
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// TODO: is the basis here (for population) the patient or the device?

Instance: IntensiveCarePatients-InvasiveVentilation-NoHomeVentilation
InstanceOf: recommendation-eligibility-criteria
Usage: #definition
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// TODO: is the basis here (for population) the patient or the device?

Instance: StopOdersInvasiveDevices
InstanceOf: recommendation-plan
Usage: #definition
Expand All @@ -21,6 +19,7 @@ Description: "All Intensive Care Patients with invasive devices should have a da
* insert rs-combination-all
* action[other][+]
* definitionCanonical = Canonical(DailyStopOrdersInvasiveDevices)
* subjectCodeableConcept = $sct#706172005 "Ventilator (physical object)"
* code = $sct#74964007 "Other (qualifier value)"


Expand All @@ -34,7 +33,7 @@ Description: "All invasive devices have a daily re-evaluation regarding the nece
* insert canonical-url(DIVI-DigiQIs, recommended-action/daily-stop-orders-invasive-devices)
* insert publisher-experimental-version(7.0)
* status = #active
* code = $sct#230165009 "Indication of" // TODO: find better code (self-defined?)
* code = $cs-divi-qi-s#RE-EVAL-DEVICE-INDICATION "Re-evaluate indication of device"
* kind = $cs-fhir-types#Task "Task"
* timingTiming
* repeat
Expand Down Expand Up @@ -73,8 +72,7 @@ Description: "The consumption of hand disinfectant should be more than 80 litres
* description.text = "The consumption of hand disinfectant is more than 80 litres per 1000 days."
* target[+]
* measure = $sct#311942001 "Disinfectant"
* detailRange.low = 80 $ucum#L "liter"
* due = 1000 $ucum#d "day"
* detailRange.low = 80 $ucum#L/(1000.d) "litre per 1000 days"


Instance: InfectionDeviceRatio
Expand All @@ -99,17 +97,16 @@ Description: "The number of infections per invasive devices is at zero."
* action[assessment][+]
* code = $sct#386053000 "Evaluation procedure (procedure)"
* goalId[+] = "assessment-infection-device-ratio"
* subjectCodeableConcept = $sct#706172005 "Ventilator (physical object)"

// Define Goal for the Infection-per-Device Ratio
* goal[other][+]
* category = $sct#74964007 "Other (qualifier value)"
* id = "assessment-infection-device-ratio"
* description.text = "The number of infections per invasive devices is at zero."
* target[+]
* measure = $sct#736152001 "CLABSI - central line associated bloodstream infection"
* measure = $cs-divi-qi-s#COUNT-CLABSI "Number of central line associated bloodstream infections"
* detailRange.low = 0 '' ""
* due = 1 $ucum#d "day"


Instance: PenumoniaVentilatedPatientRatio
InstanceOf: recommendation-plan
Expand Down Expand Up @@ -140,8 +137,5 @@ Description: "The number of pneumonia cases per ventilated patients should be lo
* id = "assessment-pneumonia-ventilated-patients-ratio"
* description.text = "The number of pneumonia cases per ventilated patients is at zero."
* target[+]
* measure = $sct#429271009 "Ventilator associated pneumonia"
* measure = $cs-divi-qi-s#COUNT-VENT-PNEUMONIA "Number of ventilator-associated pneumonia"
* detailRange.low = 0 '' ""
* due = 1 $ucum#d "day"


Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// TODO: is the basis here (for population) the patient or the device?

Instance: IntensiveCarePatients-InvasiveDevice
InstanceOf: recommendation-eligibility-criteria
Usage: #definition
Expand Down
13 changes: 8 additions & 5 deletions input/fsh/QI6-Infektionsmanagement/QI6_intervention.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,28 @@ Description: "All Intensive Care Patients with Antibiotics should have a daily r
* action[other][+]
* definitionCanonical = Canonical(DailyAssessmentAntibioticIndication)
* code = $sct#74964007 "Other (qualifier value)"
* subjectCodeableConcept = $sct-int#281789004 "Antibiotic therapy (procedure)"
* action[other][+]
* definitionCanonical = Canonical(DailyAssessmentAntibioticFocus)
* code = $sct#74964007 "Other (qualifier value)"
* subjectCodeableConcept = $sct-int#281789004 "Antibiotic therapy (procedure)"
* action[other][+]
* definitionCanonical = Canonical(DailyAssessmentAntibioticDuration)
* code = $sct#74964007 "Other (qualifier value)"
* subjectCodeableConcept = $sct-int#281789004 "Antibiotic therapy (procedure)"


// Recommended Action
Instance: DailyAssessmentAntibioticIndication // TODO: _each_ abx must be checked -> make abx the population? grouping variable?
InstanceOf: RecommendationAction
Instance: DailyAssessmentAntibioticIndication
InstanceOf: ActivityDefinition
Usage: #definition
Title: "Daily Assessment of the Indication for Antibiotics"
Description: "All Antibiotics are daily re-evaluated for the Indication for each Antibiotic."
* name = "DailyAssessmentAntibioticIndication"
* insert canonical-url(DIVI-DigiQIs, recommended-action/daily-assessment-antibiotic-indication)
* insert publisher-experimental-version(7.0)
* status = #active
* code = $sct#230165009 "Indication of" // TODO: find better code (self-defined?)
* code = $cs-divi-qi-s#RE-EVAL-ANTIBIOTIC-INDICATION "Re-evaluate Indication of Antibiotic"
* kind = $cs-fhir-types#Task "Task"
* timingTiming
* repeat
Expand All @@ -55,7 +58,7 @@ Description: "All Antibiotics are daily re-evaluated for the Focus for each Anti
* insert canonical-url(DIVI-DigiQIs, recommended-action/daily-assessment-antibiotic-focus)
* insert publisher-experimental-version(7.0)
* status = #active
* code = $sct#272737002 "Site of" // TODO: find better code (self-defined?)
* code = $cs-divi-qi-s#RE-EVAL-ANTIBIOTIC-FOCUS "Re-evaluate Focus of Antibiotic"
* kind = $cs-fhir-types#Task "Task"
* timingTiming
* repeat
Expand All @@ -72,7 +75,7 @@ Description: "All Antibiotics are daily re-evaluated for the Duration of Therapy
* insert canonical-url(DIVI-DigiQIs, recommended-action/daily-assessment-antibiotic-duration)
* insert publisher-experimental-version(7.0)
* status = #active
* code = $sct#261773006 "Duration of Therapy" // TODO: find better code (self-defined?)
* code = $cs-divi-qi-s#RE-EVAL-ANTIBIOTIC-DURATION "Re-evaluate Duration of Antibiotic Therapy"
* kind = $cs-fhir-types#Task "Task"
* timingTiming
* repeat
Expand Down
Loading
Loading