Not sure how much this helps, but I wanted to provide some additional insight into how allergies are stored. The allergen list is populated with concepts from the following CIEL concept sets, which are already synchronized with the concepts table:
- https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/162552/
- https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/162554/
- https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/162553/
When an allergy is saved, it establishes a relationship with the relevant concept from the concept table. When translating an allergy to FHIR, the system reads the concept mapped to the allergen from the database and maps it to the AllergyIntolerance.code
attribute. The category isn’t involved in this translation. However, if there are SAME-AS
mappings to the concept, they will also be included in the AllergyIntolerance.code
field (as an array).
As we do not record the substance, the same value will be mapped to the AllergyIntolerance.reaction.substance
attribute.
In the meantime, I’ve identified an issue with translations, and I’ve posted it here.