Skip to content

Commit

Permalink
recommendation obligatory (#12)
Browse files Browse the repository at this point in the history
- use of "Recommendation" as the base profile for a recommendation is now obligatory (as opposed to using only RecommendationPlan profile instances). Recommendation is a collection of individual RecommendationPlan resources, which in turn define the different pieces of a single recommendation.
-
  • Loading branch information
glichtner authored Dec 8, 2022
1 parent 30b5f81 commit 8459f0a
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 43 deletions.
3 changes: 3 additions & 0 deletions input/fsh/examples/covid-dexamethason/bundle.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ Description: "COVID19 Intensive Care Treatment Guideline (Bundle)."
* entry[guidelineCitation][+]
* resource = COVID19IntensiveCareTreatmentGuidelineCitation
* insert canonical-full-url(example/guidelines/covid19-intensive-care-treatment/guideline-citation)
* entry[recommendation][+]
* resource = COVID19DexamethasoneApplication
* insert canonical-full-url(example/guidelines/covid19-intensive-care-treatment/dexamethasone/recommendation)
* entry[recommendationPlan][+]
* resource = COVID19VentilatedPatientsDexamethasoneApplicationPlan
* insert canonical-full-url(example/guidelines/covid19-intensive-care-treatment/dexamethasone/recommendation-plan-ventilated-patients)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,37 @@
/*********************/
/* Intervention Plan */
/*********************/
Instance: COVID19DexamethasoneApplication
InstanceOf: recommendation
Usage: #example
Title: "Dexamethasone Application"
Description: "Application of Dexamethasone for ventilated patients only"
* name = "Dexamethasone_Application"
* title = "Dexamethasone Application"
* version = "4.0"
* date = "2021-12-12"
* status = #active
* description = "Application of Dexamethasone for ventilated patients only"
* insert canonical-url(example/covid19-dexamethasone-recommendation)
* experimental = true
* publisher = "CPGonEBMonFHIR"
* subjectCanonical = Canonical(PopulationCOVID19Ventilated)
* action[+]
* title = "Dexamethasone Application"
* code = $cs-common-process#guideline-based-care
* description = "Application of Dexamethasone: 6 mg once per day for 10 days p.o. or i.v. for ventilated COVID-19 patients"
* definitionCanonical = Canonical(COVID19VentilatedPatientsDexamethasoneApplicationPlan)
* selectionBehavior = #exactly-one
* action[+]
* title = "No Dexamethasone Application"
* code = $cs-common-process#guideline-based-care
* description = "No Dexamethasone Application for non-ventilated COVID-19 patients"
* definitionCanonical = Canonical(COVID19NonVentilatedPatientsDexamethasoneApplicationPlan)
* selectionBehavior = #exactly-one
* relatedArtifact[recommendationJustification].resourceReference = Reference(DexamethasoneRecommendationJustification)
* relatedArtifact[recommendationCitation].resourceReference = Reference(DexamethasoneRecommendationCitation)
* relatedArtifact[guidelineCitation].resourceReference = Reference(COVID19IntensiveCareTreatmentGuidelineCitation)

Instance: COVID19VentilatedPatientsDexamethasoneApplicationPlan
InstanceOf: recommendation-plan
Usage: #example
Expand All @@ -22,9 +53,6 @@ Description: "Application of Dexamethasone: 6 mg once per day for 10 days p.o. o
* action[drugAdministration][+]
* definitionCanonical = Canonical(DexamethasoneApplicationActionIntravenous)
* selectionBehavior = #exactly-one
* relatedArtifact[recommendationJustification].resourceReference = Reference(DexamethasoneRecommendationJustification)
* relatedArtifact[recommendationCitation].resourceReference = Reference(DexamethasoneRecommendationCitation)
* relatedArtifact[guidelineCitation].resourceReference = Reference(COVID19IntensiveCareTreatmentGuidelineCitation)

Instance: COVID19NonVentilatedPatientsDexamethasoneApplicationPlan
InstanceOf: recommendation-plan
Expand All @@ -44,9 +72,6 @@ Description: "No application of Dexamethasone for non-ventilated COVID-19 patien
* action[drugAdministration][+]
* definitionCanonical = Canonical(NoDexamethasoneApplication)
* selectionBehavior = #exactly-one
* relatedArtifact[recommendationJustification].resourceReference = Reference(DexamethasoneRecommendationJustification)
* relatedArtifact[recommendationCitation].resourceReference = Reference(DexamethasoneRecommendationCitation)
* relatedArtifact[guidelineCitation].resourceReference = Reference(COVID19IntensiveCareTreatmentGuidelineCitation)

Instance: DexamethasoneRecommendationCitation
InstanceOf: recommendation-citation
Expand Down
18 changes: 9 additions & 9 deletions input/fsh/guideline-recommendation/p-recommendation.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,15 @@ InstanceOf: recommendation
Usage: #example
Title: "recommendation"
Description: "Recommendation"
* name = "Recommendation"
* title = "Recommendation"
* version = "1.0"
* date = "2022-02-14"
* status = #active
* description = "Example Recommendation"
* insert canonical-url(example/recommendation-plan/example-recommendation)
* experimental = true
* publisher = "CPGonEBMonFHIR"
* action[+]
* title = "example recommendation"
* code = $cs-common-process#guideline-based-care
Expand All @@ -36,15 +45,6 @@ Description: "Recommendation"
* description = "Example recommendation"
* definitionCanonical = Canonical(ExampleRecommendationPlan)
* selectionBehavior = #all
* name = "Recommendation"
* title = "Recommendation"
* version = "1.0"
* date = "2022-02-14"
* status = #active
* description = "Example Recommendation"
* insert canonical-url(example/recommendation-plan/example-recommendation)
* experimental = true
* publisher = "CPGonEBMonFHIR"
* relatedArtifact[recommendationJustification].resourceReference = Reference(ExampleRecommendationJustification)
* relatedArtifact[recommendationCitation].resourceReference = Reference(ExampleRecommendationCitation)
* relatedArtifact[guidelineCitation].resourceReference = Reference(ExampleGuidelineCitation)
4 changes: 2 additions & 2 deletions input/fsh/guideline/p-guideline.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Description: "Representation of an evidence-based clinical practice guideline."
* title 1..1 MS
* code 1..1 MS
* code = $cs-ceosys#guideline-recommendation "Clinical practice guideline recommendation"
* focus only Reference(RecommendationPlan)
* focus only Reference(Recommendation)

Instance: GuidelineExample
InstanceOf: guideline
Expand All @@ -67,4 +67,4 @@ Description: "Example of a guideline resource."
* text
* status = #generated
* div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">This is an example guideline recommendation.</div>"
* focus = Reference(ExampleRecommendationPlan)
* focus = Reference(ExampleRecommendation)
4 changes: 0 additions & 4 deletions input/fsh/intervention/p-recommendation-plan.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ Description: "Definition of an activity that is part of an intervention in the c
* system 1.. MS
* code 1.. MS
* detail[x] 1..1 MS
* insert recommendation-related-artifacts

Invariant: goal-must-be-linked
Description: "The goal linked by goalId is not defined"
Expand Down Expand Up @@ -126,6 +125,3 @@ Description: "An active recommendation plan."
* measure = $loinc#48066-5 "Fibrin D-dimer DDU [Mass/volume] in Platelet poor plasma"
* detailRange
* high = 250 'ng/mL'
* relatedArtifact[recommendationJustification].resourceReference = Reference(ExampleRecommendationJustification)
* relatedArtifact[recommendationCitation].resourceReference = Reference(ExampleRecommendationCitation)
* relatedArtifact[guidelineCitation].resourceReference = Reference(ExampleGuidelineCitation)
31 changes: 9 additions & 22 deletions input/fsh/p-guideline-bundle.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Description: "Collection of all resources that represent a single clinical pract
* entry contains
guideline 1..1 MS
and guidelineCitation 0..1 MS
and recommendation 1..* MS
and recommendationPlan 1..* MS
and recommendationAction 1..* MS
and PICOEvidenceVariable 1..* MS // includes RecommendationEligibilityCriteria, StudyEligibilityCriteria, and Outcome
Expand All @@ -25,50 +26,33 @@ Description: "Collection of all resources that represent a single clinical pract
and studyCitation 0..* MS
and recommendationCitation 0..* MS
and netEffect 0..* MS
* entry[guideline]
* entry
* resource 1.. MS
* resource only Guideline
* fullUrl 1..1 MS
* entry[guideline]
* resource only Guideline
* entry[guidelineCitation]
* resource 1.. MS
* resource only GuidelineCitation
* fullUrl 1..1 MS
* entry[recommendation]
* resource only Recommendation
* entry[recommendationPlan]
* resource 1.. MS
* resource only RecommendationPlan
* fullUrl 1..1 MS
* entry[recommendationAction]
* resource 1.. MS
* resource only RecommendationAction
* fullUrl 1..1 MS
* entry[PICOEvidenceVariable]
* resource 1.. MS
* resource only PICOEvidenceVariable
* fullUrl 1..1 MS
* entry[recommendationJustification]
* resource 1.. MS
* resource only RecommendationJustification
* fullUrl 1..1 MS
* entry[certaintyOfEvidenceRating]
* resource 1.. MS
* resource only CertaintyOfEvidenceRating
* fullUrl 1..1 MS
* entry[outcomeEvidence]
* resource 1.. MS
* resource only OutcomeEvidence
* fullUrl 1..1 MS
* entry[studyCitation]
* resource 1.. MS
* resource only StudyCitation
* fullUrl 1..1 MS
* entry[recommendationCitation]
* resource 1.. MS
* resource only RecommendationCitation
* fullUrl 1..1 MS
* entry[netEffect]
* resource 1.. MS
* resource only NetEffectEstimate
* fullUrl 1..1 MS

Invariant: bdl-1
Description: "First element of Bundle must be an Composition."
Expand All @@ -86,6 +70,9 @@ Description: "Example of a clinical practice guideline representation bundle."
* entry[guidelineCitation][+]
* resource = ExampleGuidelineCitation
* insert canonical-full-url(example/guidelines/guideline-example/citation)
* entry[recommendation][+]
* resource = ExampleRecommendation
* insert canonical-full-url(example/guidelines/guideline-example/recommendation)
* entry[recommendationPlan][+]
* resource = ExampleRecommendationPlan
* insert canonical-full-url(example/guidelines/guideline-example/recommendation-plan)
Expand Down

0 comments on commit 8459f0a

Please sign in to comment.