Social Care Interoperability Platform FHIR Implementation Guide
Version: 0.1.0, Status: draft
Social Care Interoperability Platform FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/AllergyIntelorance-Allergy | Version: 0.1.0 | |||
| Draft as of 2026-06-10 | Computable Name: AllergyInteloranceToAllergy | |||
map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/AllergyIntelorance-Allergy" = "AllergyInteloranceToAllergy" uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-AllergyIntolerance" alias AllergyIntolerance as source uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Allergy" alias Allergy as target group Allergy(source src : AllergyIntolerance, target tgt : Allergy) { src -> tgt.id = evaluate(src, id) "setAllergyId"; src -> tgt.meta as meta, meta.dataClass as dataClass then { src -> dataClass.name = 'Allergy and adverse reaction' "2d903f9d-7d5a-4b72-8e1e-5d467238f65e"; } "setDataClassName"; src.patient as patient then { src -> tgt.subjectOfCare as subjectOfCare then { src -> subjectOfCare.id = evaluate(patient, reference.replace('Patient/','')) "c3e15bd0-00a1-440f-99ab-3591c9972dc0"; src -> subjectOfCare.type = 'SubjectOfCare' "01c35046-6882-4e15-bd42-d6cce6be915e"; src -> subjectOfCare.display = evaluate(patient, display) "0257361e-c063-478b-be6b-1ea3e9630bd6"; } "ac1ea56f-fd1f-43d4-9949-6e13ac640bae"; } "setAllergySubject"; src.type then { src -> src.allergyCode = create('Coding') as allergyCode then { src -> allergyCode.system = 'http://hl7.org/fhir/allergy-intolerance-type' "3a84cbc0-dce9-4dad-ab8f-b53871fd6f82"; src -> allergyCode.code = evaluate(src, type) "993ae500-53eb-46e3-ba3a-ca7b28072576"; src -> tgt.type = translate(allergyCode, 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIRAllergyIntoleranceType-1', 'Coding') "de2194d2-b28b-4c49-9952-0c66783c1e15"; } "3242e075-ca20-46dc-a454-4a0eab098612"; } "setAllergyType"; src.code as code, code.coding as coding then { src -> tgt.causativeAgent as cause then { src -> cause.code = evaluate(coding, code) "9a14847b-45a0-411e-b68e-4abdfe274860"; src -> cause.display = evaluate(coding, display) "53915bb7-094a-413b-9aa7-ec3a8a18a951"; } "48903f4d-5a8a-4e8f-8aa6-63d04da6f856"; } "setAllergyCause"; src.recorder as recorder then { src -> tgt.observer as observer then { src -> observer.id = evaluate(recorder, reference.replace('Practitioner/','')) "176d8761-34db-46e8-9e15-4b543168d617"; src -> observer.type = 'CareWorker' "133e4b9a-4650-4e2c-8474-621a0aefcbc1"; src -> observer.display = evaluate(recorder, display) "6486be64-33b9-47c8-8cf7-c634e4dee77e"; } "ed4e49d8-bdc1-443a-84c8-0f005aa61692"; } "setAllergyObserver"; src.onsetPeriod as period then { period.start as start then { src -> tgt.firstExperienced = evaluate(period, start) "89d4909c-2fb6-4ec1-8121-666127717419"; }; period.end as end then { src -> tgt.endDate = evaluate(period, end) "05e8c5ab-9060-4561-ad0a-07a9cab316ea"; }; } "setAllergyStartEndDates"; src -> tgt.comment = evaluate(src, note[0].text) "setAllergComment"; src -> tgt.evidence = evaluate(src, note[1].text) "setAllergyEvidence"; src.reaction as reactionEvent -> tgt.reaction as reaction then { reactionEvent.substance as reactionSubstance then { src -> reaction.substance as substance then { src -> substance.code = evaluate(reactionSubstance, coding[0].code) "d3000f08-7d90-4690-a887-8e373e38b626"; src -> substance.display = evaluate(reactionSubstance, coding[0].display) "0fdd4dad-1471-49fb-aa55-a77883187d41"; } "25b2b5e2-f070-456c-8d80-381545be8a73"; }; reactionEvent.manifestation as reactionManifestation then { src -> reaction.description as description then { src -> description.code = evaluate(reactionManifestation, coding[0].code) "4c7b8815-0f95-4a8c-a98e-b48dc969d266"; src -> description.display = evaluate(reactionManifestation, coding[0].display) "7a7d236a-7cb8-49f0-9fe9-77df996434a9"; } "4f1cb1fe-2a8d-45ac-83c8-b1e4622190dd"; }; reactionEvent.severity then { src -> src.severityCode = create('Coding') as severityCode then { src -> severityCode.system = 'http://hl7.org/fhir/reaction-event-severity' "c33a4e02-3b2b-42d1-98d1-22e057d3b808"; src -> severityCode.code = evaluate(reactionEvent, severity) "12ddb720-06f3-4d1d-84d4-edfd49ee307b"; src -> reaction.severity = translate(severityCode, 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIRReactionEventSeverity-1', 'Coding') "050425f7-b0ce-4e97-bd15-7f1bf08e87f9"; } "199cf89f-199b-4fa4-8c06-b5fc6fea0a8c"; }; reactionEvent.exposureRoute as reactionRoute then { src -> reaction.route as route then { src -> route.code = evaluate(reactionRoute, coding[0].code) "471226b7-b3a6-453e-94ab-966ba5284524"; src -> route.display = evaluate(reactionRoute, coding[0].display) "47a2f647-3915-445e-a3c9-bcfc56bb36f7"; } "6fa106bd-64cb-433e-ab7a-6d2a0352744f"; }; } "setAllergyReaction"; }