I’ve observed that the severity for certain allergies is indicated as UNABLE-TO-ASSESS
. Here’s a summary of my investigation into identifying the root cause.
When saving an allergy for a patient, we collect the following information:
- Allergen
- Reactions
- Severity of worst reaction (mild, moderate, severe)
- comment
If we look into a FHIR resource, there’s two fields related to severity:
AllergyIntolerance.criticality:
- This element describes the criticality of the allergy or intolerance.
- Possible values include:
low
(Low Risk): The reaction is not likely to result in a life-threatening situation.high
(High Risk): The reaction has the potential to be life-threatening.unable-to-assess
(Unable to Assess Risk): The criticality of the reaction cannot be determine
AllergyIntolerance.reaction.severity:
- This element provides information about the severity of reactions.
- It is part of the
AllergyIntolerance.reaction
element - Possible values:
mild
moderate
severe
When going through the source code of the FHIR module, I realised that this is how we translate an allergy in the DB to a FHIR resources.
-
AllergyIntolerance.criticality:
if
severity_of_worst_reaction
ismild
⇒ map tolow
else if
severe
⇒ map tohigh
else ⇒ map to
unable-to-assess
(so themoderate
maps to this which results displaying as unable-to-assess in the UI) -
AllergyIntolerance.reaction.severity:
the value of
severity_of_worst_reaction
will assigned to this.
We should reconsider the criticality; the current method of linking severity to criticality might be a bit misleading. One solution could be to add a custom field in the allergy form specifically for indicating criticality. Let me know what you think.