Skip to content

Commit

Permalink
updated
Browse files Browse the repository at this point in the history
  • Loading branch information
rmrlangford committed Jul 19, 2024
1 parent d28ec69 commit dca5f74
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 3 deletions.
48 changes: 47 additions & 1 deletion input/fsh/examples.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3971,4 +3971,50 @@ Description: "Documents the medical history for the patient"
* date = "2024-03-20"
* source = Reference(GeneralPractitionerExample)
* entry[+].item = Reference(OpportunisicInfectionsPulmonaryTBExample)
* entry[+].item = Reference(OpportunisicInfectionsChronicDiarrheaExample)
* entry[+].item = Reference(OpportunisicInfectionsChronicDiarrheaExample)

Instance: NotAssessedForPainObservationExample
InstanceOf: AssessedForPainObservation
Usage: #example
Title: "Observation - Not Assessed for Pain"
Description: "Indicates that the patient has not been assessed for pain."
* status = #final
* category = $OBSERVATION_CATEGORY#exam
* code = $LNC#LP428833-0
* code.text = "Assessed for pain"
* subject = Reference(GeneralPatientExample)
* encounter = Reference(GeneralEncounterExample)
* effectiveDateTime = "2023-12-11"
* performer = Reference(CurrentServiceProviderExample)
* valueCodeableConcept = $YesNoCodeSystem#false

Instance: AssessedForPainObservationExample
InstanceOf: AssessedForPainObservation
Usage: #example
Title: "Observation - Assessed for Pain"
Description: "Indicates that the patient has been assessed for pain."
* status = #final
* category = $OBSERVATION_CATEGORY#exam
* code = $LNC#LP428833-0
* code.text = "Assessed for pain"
* subject = Reference(GeneralPatientExample)
* encounter = Reference(GeneralEncounterExample)
* effectiveDateTime = "2023-12-11"
* performer = Reference(CurrentServiceProviderExample)
* valueCodeableConcept = $YesNoCodeSystem#true
* hasMember = Reference(LevelOfPainObservationExample)

Instance: LevelOfPainObservationExample
InstanceOf: LevelOfPainObservation
Usage: #example
Title: "Observation - Level of Pain"
Description: "Indicates the level of pain the patient is experiencing."
* status = #final
* category = $OBSERVATION_CATEGORY#exam
* code = $LNC#LL5953-6
* code.text = "Pain interpretation"
* subject = Reference(GeneralPatientExample)
* encounter = Reference(GeneralEncounterExample)
* effectiveDateTime = "2023-12-11"
* performer = Reference(CurrentServiceProviderExample)
* valueCodeableConcept = $YesNoCodeSystem#true
7 changes: 6 additions & 1 deletion input/fsh/invariant-constraints.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -151,4 +151,9 @@ Severity: #error
Invariant: Observation-alternate-tpt-Follow-Up-2
Description: "If Observation.valueCodeableConcept.coding.code is \"182992009\" then Observation.hasMember for slice \"TPTCompleted\" SHALL be present."
Expression: "value.coding.where(system = 'http://snomed.info/sct' and code = '182992009').exists() implies hasMember.slice('http://moh.gov.et/fhir/hiv/StructureDefinition/alternate-tpt-at-follow-up-observation', 'TPTCompleted').exists()"
Severity: #error
Severity: #error

Invariant: Observation-Assessed-For-Pain-1
Description: "If Observation.valueCodeableConcept.coding.code is \"true\" then hasMember SHALL be present."
Expression: "value.coding.where(system = 'http://moh.gov.et/fhir/hiv/CodeSystem/yes-no-code-system' and code = 'true').exists() implies hasMember.exists()"
Severity: #error
28 changes: 28 additions & 0 deletions input/fsh/profiles.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -2825,3 +2825,31 @@ Description: "Documents the medical history for the patient"
* entry 1..*
* entry.item only Reference(OpportunisicInfections)

Profile: AssessedForPainObservation
Parent: GenericObservation
Id: assessed-for-pain-observation
Title: "Observation - Assessed for Pain"
Description: "Documents whether the patient has been assessed for pain."
* obeys Observation-Assessed-For-Pain-1
* category 1..1
* category = $OBSERVATION_CATEGORY#exam
* code = $LNC#LP428833-0
* value[x] only CodeableConcept
* valueCodeableConcept 1..1
* valueCodeableConcept from YesNoValueSet (required)
* hasMember 0..1 MS
* hasMember ^definition =
"reason(s) why this should be supported."
* hasMember only Reference(LevelOfPainObservation)

Profile: LevelOfPainObservation
Parent: GenericObservation
Id: level-of-pain-observation
Title: "Observation - Level of Pain"
Description: "Indicates the level of pain the patient is experiencing."
* category 1..1
* category = $OBSERVATION_CATEGORY#exam
* code = $LNC#LL5953-6
* value[x] only CodeableConcept
* valueCodeableConcept 1..1
* valueCodeableConcept from YesNoValueSet (required)
12 changes: 11 additions & 1 deletion input/fsh/terminology.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -2035,4 +2035,14 @@ Description: "Codes used for representing opportunistic infections."
* $SCT#14232007 "Cryptococcal meningitis"
* $SCT#363354003 "Malignant tumor of cervix"
* $SCT#79740000 "Candidiasis of mouth"
* $SCT#118601006 "Non-Hodgkin's lymphoma"
* $SCT#118601006 "Non-Hodgkin's lymphoma"

ValueSet: PainScaleValueSet
Id: pain-scale-value-set
Title: "Pain Scale"
Description: "Codes used for representing level of pain (pain scale)."
* ^experimental = false
* $LNC#LA131-5 "No pain"
* $LNC#LA15111-0 "Mild pain"
* $LNC#LA135-6 "Moderate pain"
* $LNC#LA15109-4 "Severe pain"

0 comments on commit dca5f74

Please sign in to comment.