How to represent allergy in a Observation

Hi All,

As part of FHIR work we are modeling allergy resources as FHIR AllergyTolerance resources. We have used Strategy design pattern to select the allergy type as OpenMRS uses three different ways to represent allergies. Allergy Module Allergies, ActiveList Allergies and Obs Allergies are the three types of allergies used within OpenMRS. Mostly Allergy Module and ActiveList Allergies are similar to FHIR AllergyTolerance Resource and we have already mapped OpenMRS Allergy to FHIR AllergyTolerance Resource.

Normally Allergen, Severity, Type, Reaction mapped to FHIR AllergyTolerance. My concern is, if we used Observation to represent the allergies, how Observation used to represent mentioned fields? Example of Obs allergy would be great to understand it.

@surangak @darius @wyclif @burke @raff @dkayiwa any thoughts?

Thanks, Harsha

Personally i wouldn’t try to make the FHIR module try to support all the forms in which allergies were stored in OpenMRS, i would model FHIR resources to support the new design in the module, that way if one wishes to use the module, they need to install the new allergy module too which would take care of converting the existing allergies to match the new stricture.

Didn’t we already have this discussion a month or more ago?

@harsha89, if you are interested in how implementations are currently modeling their allergies, you will probably have better luck asking implementers instead of developers. :wink:

Yes, this has been discussed a few times recently.

My comment here mentions it: https://groups.google.com/a/openmrs.org/d/msg/dev-archive/bTK61f5ARNk/r_Z3hks5Zh4J Andy gives the CIEL concept here: https://groups.google.com/a/openmrs.org/d/msg/dev-archive/bTK61f5ARNk/6KSe6OVtZ2oJ

Basically, the “obs” strategy that we provide out of the box should only provide the fact that the allergy exists, with no modifiers at all. (It’s not worthwhile to try to cover all the possible ways people might have modeled things. We should spend our effort on other work.)

Thanks all for the valuable feedback and pointers. Agree that it’s something that less focused. Seems mentioning allergies as Obs also not well structured. I will keep the Obs strategy as empty. I assume most of current implementations are using active list allergies or allergy api modules to represent allergies which is the most cleaner way to do it. IIUC Obs allergies will not give much details and it won’t be suitable for map Observation to Allergy without proper structure.