...
A ClinicalImpresssion:
.finding
for each.component
in the observation (e.g. systolic and diastolic blood pressure) or a single finding if the observation does not contain components.Each finding for observation will have one of the following alert levels:
http://snomed.info/sct, 442082004, fund ved måling inden for referenceinterval (green)
http://snomed.info/sct, 442096005, fund ved måling uden for referenceinterval (red, yellow)
If the finding is for a component, then it will contain an observation code identifying the component (e.g. systolic blood pressure)
A Task related to the ClinicalImpression with priority based on the highest alert level found:
asap
if any values are found in .
.finding
for the overall assessment which is eithergreen
,yellow
orred
based on the worst severity from components or a single observation, seegreen
,yellow
andred
in .https://ehealth.sundhed.dk/fhir/ValueSet-ehealth-clinicalimpression-finding-codes.html .A Task related to the ClinicalImpression with
priority
based on the highest alert level found:asap
if any values are found in “red alert” reference rangesurgent
if any values are found in “yellow alert” reference ranges (and no “red alert” found)routine
if no red or yellow alerts are found
...
The rule processes absolute reference ranges only, that is, Observation.referenceRange.type
where the Coding has:
system
:urn:oid:1.2.208.184.100.1
code
:RAL
orGAL
, for red alarm absolute reference range and yellow alarm absolute reference range, respectively.
...
If an observation contains components, it is assumed that all values are contained in components.The rule accepts observation values and reference ranges without units. However if both have a unit specified, they must match.in components.
The rule accepts observation values and reference ranges without units. However if both have a unit specified, they must match.
Error handling for different situations which result in the rule setting up instructions for creation of one or two Task:
Situation | Generic Task | Possible Specific Task (Stating what was wrong) |
---|---|---|
No absolute reference range found | Task (Stating that measurement needs manual assessment):
| No additional task. |
Unit mismatch between reference range and observation value | Task (Stating that measurement needs manual assessment as auto processing failed):
| Task:
|
Missing observation value | Task (Stating that measurement needs manual assessment as auto processing failed):
| Task:
|
Assessment of Relative Reference Ranges Library and Rule
...
Info |
---|
Example relative reference range as -5 percentage point with reference base 90% for oxygen saturation measurement The oxygen saturation measurement unit is expressed as percent ( A red alarm relative reference range given as -5 percentage point would be given by a SimpleQuantity for the reference range’s low element with:
Thus, the rule would treat an Observation with value 85% as a red alarm case for this relative reference range and current choice of reference base with value 90%. |
The rule handles situations as followsdifferent situations which result in the rule setting up instructions for creation of one or two Task:
Situation |
---|
Generic Task | Possible Specific Task (Stating what was wrong) | |
---|---|---|
Neither reference base nor relative reference range(s) found | Task:
| No additional task. |
No reference base found | Task:
| |
No relative reference range found | Task:
|
Library for Assessment of Questionnaire Response
...
During processing of the rule, each answer significance defined in the Questionnaire (see https://docs.ehealth.sundhed.dk/latest-released/igfhir/StructureDefinition-ehealth-questionnaire.html#answer-significance ) on questions and their linked answers in the QuestionnaireResponse are traversed and checked whether the condition(s) of the answer significance is met by the linked answer. When this is the case, a finding basis is added to internal bookkeeping. Ultimately, the list of finding basis determines the created ClinicalImpression finding and the priority of the created task:
...
A ClinicalImpresssion:
.finding
as follows:If the triggered red set is not empty, a
finding.item
with a Coding:system
=http://ehealth.sundhed.dk/cs/clinicalimpression-finding-codes
code
=red-question-answer
display
=Rød spørgsmål/svar-kombination fundet i spørgeskemabesvarelse
Red overall assessment
If the triggered yellow set is not empty, a
finding.item
with a Coding:system
=http://ehealth.sundhed.dk/cs/clinicalimpression-finding-codes
code
=yellow-question-answer
display
=Gul spørgsmål/svar-kombination fundet i spørgeskemabesvarelse
yellow overall assessment
If both triggered sets are empty, a
finding.item
with a Coding:system
=http://ehealth.sundhed.dk/cs/clinicalimpression-finding-codes
code
=green-question-answer
display
=Grøn spørgsmål/svar-kombination fundet i spørgeskemabesvarelse
Green overall assessment
If the Questionnaire does contain answer significance definitions but none have been triggered, a
finding.item
with a Coding:system
=http://ehealth.sundhed.dk/cs/clinicalimpression-finding-codes
code
=no-effective-answer-significance
display
=Ingen triageringsindikator for spørgsmål/svar-kombination har fundet anvendelse
If the Questionnaire does not contain answer significance definitions, a
finding.item
with a Coding:system
=http://ehealth.sundhed.dk/cs/clinicalimpression-finding-codes
code
=no-answer-significance-defined
display
=Ingen triageringsindikator defineret i spørgeskemaet
list of
.ehealth-questionnaireresponse-finding-basis
for each basis for the overall ClinicalImpression as follows:linkId
set to linkId for the Questionnaire item/QuestionnaireResponse item pair which triggered the finding basisvalue
set to value of the answer which triggered the finding basisfinding
set togreen-question-answer
,yellow-question-answer
orred-question-answer
fromhttp://ehealth.sundhed.dk/vs/clinicalimpression-finding-codes
based onsignifiance
on triggeredehealth-questionnaire-answerSignificance
ehealth-questionnaire-answerSignificance
is the triggeredanswerSignificance
which is gathered from Questionnaire item
A Task related to the ClinicalImpression with:
priority
set to the priority value determined above.
...
.code
: Coding for height (code=NPU03794, system=urn:oid:1.2.208.176.2.1)effectiveDateTime
basedOn
referencing a ServiceRequest
...
Output will be a code from the http://hl7.org/fhir/v3/ObservationInterpretation CodeSystem:
Output Coding | Evaluation |
---|---|
code=IND, system=http://hl7.org/fhir/v3/ObservationInterpretation, display=Indeterminate | The referenced ServiceRequest does not contain |
code=N, system=http://hl7.org/fhir/v3/ObservationInterpretation, display=Normal | The height Observation has not exceeded the max age specified in |
code=L, system=http://hl7.org/fhir/v3/ObservationInterpretation, display=Low | The height Observation has exceeded the max age specified in |
Library for Calculating Body Mass Index
...
The first Observation must be a weight observation (code=NPU03804, system=urn:oid:1.2.208.176.2.1)
The second Observation must be height observation (code=NPU03794, system=urn:oid:1.2.208.176.2.1)
It is not necessary to provide the ServiceRequest as input. The Libary$evaluate operation will retrieve it by resolving the basedOn
reference in the weight Observation.
...