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
| Draft as of 2026-06-10 |
{
"resourceType" : "StructureMap",
"id" : "Allergy-AllergyIntelorance",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap Allergy-AllergyIntelorance</b></p><a name=\"Allergy-AllergyIntelorance\"> </a><a name=\"hcAllergy-AllergyIntelorance\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> "</span>https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Allergy-AllergyIntelorance<span style=\"color: navy\">" = "</span>AllergyToAllergyIntelorance<span style=\"color: navy\">"\r\n\r\n</span><b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-MODS-Allergy.html\" title=\"MODS Allergy\">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Allergy</a><span style=\"color: navy\">" </span><b>alias </b>Allergy <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-MODS-AllergyIntolerance.html\" title=\"MODS Allergy Intolerance\">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-AllergyIntolerance</a><span style=\"color: navy\">" </span><b>alias </b>AllergyIntolerance <b>as </b><b>target</b>\r\n\r\n<b>group </b>AllergyIntelorance<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Allergy, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>AllergyIntolerance<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>tgt.id = evaluate<span style=\"color: navy\">(</span>src<span style=\"color: navy\">, </span>id<span style=\"color: navy\">)</span> <i>"setAllergyInteloranceId"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span> tgt.meta<b> as </b><span style=\"color: maroon\">meta</span><span style=\"color: navy\">, </span> meta.tag<b> as </b><span style=\"color: maroon\">tag</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>tag.system = <span style=\"color: blue\">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-FhirStructureMapCatalog-1'</span> <i>"0cddd506-f4ad-44fd-a615-d4bdfd0d90a0"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tag.code = <span style=\"color: blue\">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/AllergyIntolerance-Allergy'</span> <i>"c86b31d7-4ae3-468c-acd3-881658908857"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setMetaTag"</i><span style=\"color: navy\">;</span>\r\n src.type<b> as </b><span style=\"color: maroon\">type</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>src.allergyType = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">allergyType</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>allergyType.code = evaluate<span style=\"color: navy\">(</span>type<span style=\"color: navy\">, </span>code<span style=\"color: navy\">)</span> <i>"3eb287e2-be03-40d0-ab0e-949faa382e7c"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>allergyType.system = <span style=\"color: blue\">'https://data.digitisingsocialcare.co.uk/mods/v1/type-of-reaction'</span> <i>"d4789746-13da-4621-b353-212c3f91e864"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tgt.type = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">allergyType</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIRAllergyIntoleranceType-1'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span> <i>"549c4647-ae3c-42e8-b08e-d0e91653ee43"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"cbb0c55a-2da5-4e14-8b18-bbffcf76c6b2"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setAllergyIntoleranceType"</i><span style=\"color: navy\">;</span>\r\n src.causativeAgent<b> as </b><span style=\"color: maroon\">causativeAgent</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>tgt.code = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://snomed.info/sct'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">''</span><span style=\"color: navy\">, </span><span style=\"color: blue\">''</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vcc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vcc.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vcc<span style=\"color: navy\"><b> -> </b></span>coding.code = evaluate<span style=\"color: navy\">(</span>causativeAgent<span style=\"color: navy\">, </span>code<span style=\"color: navy\">)</span> <i>"6693f82d-5491-4d90-ab47-ba6fd4b4e8a4"</i><span style=\"color: navy\">;</span>\r\n vcc<span style=\"color: navy\"><b> -> </b></span>coding.display = evaluate<span style=\"color: navy\">(</span>causativeAgent<span style=\"color: navy\">, </span>display<span style=\"color: navy\">)</span> <i>"2b9ef0dc-47ad-47b6-ae70-909a50db9a63"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"818c31e6-39d8-4e54-ba53-95eadea3799d"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setAllergyCode"</i><span style=\"color: navy\">;</span>\r\n src.subjectOfCare<b> as </b><span style=\"color: maroon\">subjectOfCare</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>tgt.patient<b> as </b><span style=\"color: maroon\">patient</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>patient.reference = evaluate<span style=\"color: navy\">(</span>subjectOfCare<span style=\"color: navy\">, </span>'Patient/'+id<span style=\"color: navy\">)</span> <i>"18930ca9-653d-4bda-9a72-286a6024311d"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>patient.display = evaluate<span style=\"color: navy\">(</span>subjectOfCare<span style=\"color: navy\">, </span>display<span style=\"color: navy\">)</span> <i>"c8d7f473-0583-44d1-ae45-da3ae8a23bf7"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"85608c74-6bec-4d9b-89d0-599325b3d080"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setAllergyPatient"</i><span style=\"color: navy\">;</span>\r\n src.observer<b> as </b><span style=\"color: maroon\">observer</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>tgt.recorder<b> as </b><span style=\"color: maroon\">recorder</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>recorder.reference = evaluate<span style=\"color: navy\">(</span>observer<span style=\"color: navy\">, </span>'Practitioner/'+id<span style=\"color: navy\">)</span> <i>"31530357-c42a-43b7-9e6d-1b86aa36061b"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>recorder.display = evaluate<span style=\"color: navy\">(</span>observer<span style=\"color: navy\">, </span>display<span style=\"color: navy\">)</span> <i>"d2b98ecf-c394-4b7d-9f9f-99ee351187e3"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"450a4378-d1b6-4212-8dd4-0614ef469954"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setAllergyRecorder"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>src.onsetPeriod<b> as </b><span style=\"color: maroon\">period</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src.firstExperienced<b> as </b><span style=\"color: maroon\">start</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>period.start = evaluate<span style=\"color: navy\">(</span>src<span style=\"color: navy\">, </span>firstExperienced<span style=\"color: navy\">)</span> <i>"02371aa5-4d45-40d3-9ae3-cdb6f68b2b1b"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n src.endDate<b> as </b><span style=\"color: maroon\">end</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>period.end = evaluate<span style=\"color: navy\">(</span>src<span style=\"color: navy\">, </span>endDate<span style=\"color: navy\">)</span> <i>"b4d7facb-9ade-4bc8-a6ba-0f488c9d1866"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n period<b> where </b>$this.start.empty().not()or$this.end.empty().not()<span style=\"color: navy\"><b> -> </b></span>tgt.onsetPeriod <i>"a532a305-26d5-4164-b824-9fe68c63739c"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setAllergyOnsetPeriod"</i><span style=\"color: navy\">;</span>\r\n src.comment<b> as </b><span style=\"color: maroon\">comment</span><span style=\"color: navy\"><b> -> </b></span>tgt.note<b> as </b><span style=\"color: maroon\">note</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>note.text = evaluate<span style=\"color: navy\">(</span>src<span style=\"color: navy\">, </span>comment<span style=\"color: navy\">)</span> <i>"486d3c2f-36bc-4955-a434-cde5274983d0"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setAllergyCommentNote"</i><span style=\"color: navy\">;</span>\r\n src.evidence<b> as </b><span style=\"color: maroon\">evidence</span><span style=\"color: navy\"><b> -> </b></span>tgt.note<b> as </b><span style=\"color: maroon\">note</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>note.text = evaluate<span style=\"color: navy\">(</span>src<span style=\"color: navy\">, </span>evidence<span style=\"color: navy\">)</span> <i>"034331a8-7002-489c-aef1-216f2040348a"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setAllergyEvidenceNote"</i><span style=\"color: navy\">;</span>\r\n src.reaction<b> as </b><span style=\"color: maroon\">allergyReaction</span><span style=\"color: navy\"><b> -> </b></span>tgt.reaction<b> as </b><span style=\"color: maroon\">reaction</span><b> then</b><span style=\"color: navy\"> {\r\n</span> allergyReaction.substance<b> as </b><span style=\"color: maroon\">substance</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>reaction.substance = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://snomed.info/sct'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">''</span><span style=\"color: navy\">, </span><span style=\"color: blue\">''</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vcc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vcc.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>coding.code = evaluate<span style=\"color: navy\">(</span>substance<span style=\"color: navy\">, </span>code<span style=\"color: navy\">)</span> <i>"f29553cb-3356-47f4-adbe-6db5a86ba143"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>coding.display = evaluate<span style=\"color: navy\">(</span>substance<span style=\"color: navy\">, </span>display<span style=\"color: navy\">)</span> <i>"b55899dd-ef86-42e0-be02-ce623fa8600f"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setReactionSubstance"</i><span style=\"color: navy\">;</span>\r\n allergyReaction.description<b> as </b><span style=\"color: maroon\">description</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>reaction.manifestation = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://snomed.info/sct'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">''</span><span style=\"color: navy\">, </span><span style=\"color: blue\">''</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vcc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vcc.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>coding.code = evaluate<span style=\"color: navy\">(</span>description<span style=\"color: navy\">, </span>code<span style=\"color: navy\">)</span> <i>"2a29a76e-7acd-4ec3-8d84-9d5c149b905f"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>coding.display = evaluate<span style=\"color: navy\">(</span>description<span style=\"color: navy\">, </span>display<span style=\"color: navy\">)</span> <i>"48c14339-442d-4b74-af03-0b92af912688"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setReactionManifestation"</i><span style=\"color: navy\">;</span>\r\n allergyReaction.route<b> as </b><span style=\"color: maroon\">route</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>reaction.exposureRoute = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://snomed.info/sct'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">''</span><span style=\"color: navy\">, </span><span style=\"color: blue\">''</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vcc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vcc.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>coding.code = evaluate<span style=\"color: navy\">(</span>route<span style=\"color: navy\">, </span>code<span style=\"color: navy\">)</span> <i>"c8d26798-5f6b-405f-b01a-582ef07b3dfc"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>coding.display = evaluate<span style=\"color: navy\">(</span>route<span style=\"color: navy\">, </span>display<span style=\"color: navy\">)</span> <i>"f0de28d0-4ebf-4007-a6fe-135433df06b4"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setReactionRoute"</i><span style=\"color: navy\">;</span>\r\n allergyReaction.severity<b> as </b><span style=\"color: maroon\">severity</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>reaction.severity = evaluate<span style=\"color: navy\">(</span>severity<span style=\"color: navy\">, </span>code<span style=\"color: navy\">)</span> <i>"0609a717-13f2-4080-b332-44e65a84ae44"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setReactionSeverity"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setAllergyReaction"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
},
"url" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Allergy-AllergyIntelorance",
"version" : "0.1.0",
"name" : "AllergyToAllergyIntelorance",
"status" : "draft",
"date" : "2026-06-10T19:05:58+00:00",
"publisher" : "Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform",
"contact" : [
{
"name" : "Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform",
"telecom" : [
{
"system" : "url",
"value" : "https://synanetics.com"
},
{
"system" : "email",
"value" : "info@synanetics.com"
}
]
}
],
"jurisdiction" : [
{
"coding" : [
{
"system" : "urn:iso:std:iso:3166",
"code" : "GB",
"display" : "United Kingdom of Great Britain and Northern Ireland"
}
]
}
],
"structure" : [
{
"url" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Allergy",
"mode" : "source",
"alias" : "Allergy"
},
{
"url" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-AllergyIntolerance",
"mode" : "target",
"alias" : "AllergyIntolerance"
}
],
"group" : [
{
"name" : "AllergyIntelorance",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "Allergy",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "AllergyIntolerance",
"mode" : "target"
}
],
"rule" : [
{
"name" : "setAllergyInteloranceId",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "src"
},
{
"valueString" : "id"
}
]
}
]
},
{
"name" : "setMetaTag",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta"
},
{
"context" : "meta",
"contextType" : "variable",
"element" : "tag",
"variable" : "tag"
}
],
"rule" : [
{
"name" : "0cddd506-f4ad-44fd-a615-d4bdfd0d90a0",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tag",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-FhirStructureMapCatalog-1"
}
]
}
]
},
{
"name" : "c86b31d7-4ae3-468c-acd3-881658908857",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tag",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/AllergyIntolerance-Allergy"
}
]
}
]
}
]
},
{
"name" : "setAllergyIntoleranceType",
"source" : [
{
"context" : "src",
"element" : "type",
"variable" : "type"
}
],
"rule" : [
{
"name" : "cbb0c55a-2da5-4e14-8b18-bbffcf76c6b2",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "src",
"contextType" : "variable",
"element" : "allergyType",
"variable" : "allergyType",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "3eb287e2-be03-40d0-ab0e-949faa382e7c",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "allergyType",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "type"
},
{
"valueString" : "code"
}
]
}
]
},
{
"name" : "d4789746-13da-4621-b353-212c3f91e864",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "allergyType",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://data.digitisingsocialcare.co.uk/mods/v1/type-of-reaction"
}
]
}
]
},
{
"name" : "549c4647-ae3c-42e8-b08e-d0e91653ee43",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "type",
"transform" : "translate",
"parameter" : [
{
"valueId" : "allergyType"
},
{
"valueString" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIRAllergyIntoleranceType-1"
},
{
"valueString" : "code"
}
]
}
]
}
]
}
]
},
{
"name" : "setAllergyCode",
"source" : [
{
"context" : "src",
"element" : "causativeAgent",
"variable" : "causativeAgent"
}
],
"rule" : [
{
"name" : "818c31e6-39d8-4e54-ba53-95eadea3799d",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "code",
"variable" : "vcc",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://snomed.info/sct"
},
null,
null
]
}
],
"rule" : [
{
"name" : "coding",
"source" : [
{
"context" : "vcc",
"element" : "coding",
"variable" : "coding"
}
],
"rule" : [
{
"name" : "6693f82d-5491-4d90-ab47-ba6fd4b4e8a4",
"source" : [
{
"context" : "vcc"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "causativeAgent"
},
{
"valueString" : "code"
}
]
}
]
},
{
"name" : "2b9ef0dc-47ad-47b6-ae70-909a50db9a63",
"source" : [
{
"context" : "vcc"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "causativeAgent"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "setAllergyPatient",
"source" : [
{
"context" : "src",
"element" : "subjectOfCare",
"variable" : "subjectOfCare"
}
],
"rule" : [
{
"name" : "85608c74-6bec-4d9b-89d0-599325b3d080",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "patient",
"variable" : "patient"
}
],
"rule" : [
{
"name" : "18930ca9-653d-4bda-9a72-286a6024311d",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "subjectOfCare"
},
{
"valueString" : "'Patient/'+id"
}
]
}
]
},
{
"name" : "c8d7f473-0583-44d1-ae45-da3ae8a23bf7",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "subjectOfCare"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
},
{
"name" : "setAllergyRecorder",
"source" : [
{
"context" : "src",
"element" : "observer",
"variable" : "observer"
}
],
"rule" : [
{
"name" : "450a4378-d1b6-4212-8dd4-0614ef469954",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "recorder",
"variable" : "recorder"
}
],
"rule" : [
{
"name" : "31530357-c42a-43b7-9e6d-1b86aa36061b",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "recorder",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "observer"
},
{
"valueString" : "'Practitioner/'+id"
}
]
}
]
},
{
"name" : "d2b98ecf-c394-4b7d-9f9f-99ee351187e3",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "recorder",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "observer"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
},
{
"name" : "setAllergyOnsetPeriod",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "src",
"contextType" : "variable",
"element" : "onsetPeriod",
"variable" : "period"
}
],
"rule" : [
{
"name" : "firstExperienced",
"source" : [
{
"context" : "src",
"element" : "firstExperienced",
"variable" : "start"
}
],
"rule" : [
{
"name" : "02371aa5-4d45-40d3-9ae3-cdb6f68b2b1b",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "period",
"contextType" : "variable",
"element" : "start",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "src"
},
{
"valueString" : "firstExperienced"
}
]
}
]
}
]
},
{
"name" : "endDate",
"source" : [
{
"context" : "src",
"element" : "endDate",
"variable" : "end"
}
],
"rule" : [
{
"name" : "b4d7facb-9ade-4bc8-a6ba-0f488c9d1866",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "period",
"contextType" : "variable",
"element" : "end",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "src"
},
{
"valueString" : "endDate"
}
]
}
]
}
]
},
{
"name" : "a532a305-26d5-4164-b824-9fe68c63739c",
"source" : [
{
"context" : "period",
"condition" : "$this.start.empty().not()or$this.end.empty().not()"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "onsetPeriod"
}
]
}
]
},
{
"name" : "setAllergyCommentNote",
"source" : [
{
"context" : "src",
"element" : "comment",
"variable" : "comment"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "note",
"variable" : "note"
}
],
"rule" : [
{
"name" : "486d3c2f-36bc-4955-a434-cde5274983d0",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "note",
"contextType" : "variable",
"element" : "text",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "src"
},
{
"valueString" : "comment"
}
]
}
]
}
]
},
{
"name" : "setAllergyEvidenceNote",
"source" : [
{
"context" : "src",
"element" : "evidence",
"variable" : "evidence"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "note",
"variable" : "note"
}
],
"rule" : [
{
"name" : "034331a8-7002-489c-aef1-216f2040348a",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "note",
"contextType" : "variable",
"element" : "text",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "src"
},
{
"valueString" : "evidence"
}
]
}
]
}
]
},
{
"name" : "reaction",
"source" : [
{
"context" : "src",
"element" : "reaction",
"variable" : "allergyReaction"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "reaction",
"variable" : "reaction"
}
],
"rule" : [
{
"name" : "substance",
"source" : [
{
"context" : "allergyReaction",
"element" : "substance",
"variable" : "substance"
}
],
"rule" : [
{
"name" : "setReactionSubstance",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "reaction",
"contextType" : "variable",
"element" : "substance",
"variable" : "vcc",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://snomed.info/sct"
},
null,
null
]
}
],
"rule" : [
{
"name" : "coding",
"source" : [
{
"context" : "vcc",
"element" : "coding",
"variable" : "coding"
}
],
"rule" : [
{
"name" : "f29553cb-3356-47f4-adbe-6db5a86ba143",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "substance"
},
{
"valueString" : "code"
}
]
}
]
},
{
"name" : "b55899dd-ef86-42e0-be02-ce623fa8600f",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "substance"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
},
{
"name" : "description",
"source" : [
{
"context" : "allergyReaction",
"element" : "description",
"variable" : "description"
}
],
"rule" : [
{
"name" : "setReactionManifestation",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "reaction",
"contextType" : "variable",
"element" : "manifestation",
"variable" : "vcc",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://snomed.info/sct"
},
null,
null
]
}
],
"rule" : [
{
"name" : "coding",
"source" : [
{
"context" : "vcc",
"element" : "coding",
"variable" : "coding"
}
],
"rule" : [
{
"name" : "2a29a76e-7acd-4ec3-8d84-9d5c149b905f",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "description"
},
{
"valueString" : "code"
}
]
}
]
},
{
"name" : "48c14339-442d-4b74-af03-0b92af912688",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "description"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
},
{
"name" : "setAllergyReaction",
"source" : [
{
"context" : "allergyReaction",
"element" : "route",
"variable" : "route"
}
],
"rule" : [
{
"name" : "setReactionRoute",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "reaction",
"contextType" : "variable",
"element" : "exposureRoute",
"variable" : "vcc",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://snomed.info/sct"
},
null,
null
]
}
],
"rule" : [
{
"name" : "coding",
"source" : [
{
"context" : "vcc",
"element" : "coding",
"variable" : "coding"
}
],
"rule" : [
{
"name" : "c8d26798-5f6b-405f-b01a-582ef07b3dfc",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "route"
},
{
"valueString" : "code"
}
]
}
]
},
{
"name" : "f0de28d0-4ebf-4007-a6fe-135433df06b4",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "route"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
},
{
"name" : "setReactionSeverity",
"source" : [
{
"context" : "allergyReaction",
"element" : "severity",
"variable" : "severity"
}
],
"rule" : [
{
"name" : "0609a717-13f2-4080-b332-44e65a84ae44",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "reaction",
"contextType" : "variable",
"element" : "severity",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "severity"
},
{
"valueString" : "code"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}