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/Alert-Flag | Version: 0.1.0 | |||
| Draft as of 2026-03-24 | Computable Name: AlertToFlag | |||
map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Alert-Flag" = "AlertToFlag" uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Alert" alias Alert as source uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Flag" alias Flag as target group Alert(source src : Alert, target tgt : Flag) { src -> tgt.id = evaluate(src, id) "48740118-f8ba-4909-8606-b63dd719c575"; src.involved as involved then { src -> src.extension as participantExt, participantExt.url = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-ParticipantCareActor' then { involved -> participantExt.extension as participantRoleExt then { involved -> participantRoleExt.url = 'participantRole' "25b04a4e-8883-4833-8d99-a00b62a34c55"; involved -> participantRoleExt.valueCode = 'involved' "8bc8e8ef-e63a-4ff6-a17f-3d631c9c7e22"; } "34a06abf-f1b3-41ad-9a26-3b6d94765452"; involved -> participantExt.extension as participantRefExt then { involved -> participantRefExt.url = 'participantReference' "ccc712df-8faf-48da-a039-95856fe58f78"; involved -> participantRefExt.valueReference as participantReference then { involved -> participantReference.reference = evaluate(involved, 'Practitioner/'+id) "0d79054d-939b-47bd-8142-eb3771918d77"; involved -> participantReference.display = evaluate(involved, display) "20e3f8de-fa25-44d5-b7c0-5b6085fbd155"; } "9205d603-6cfd-4dd8-a06e-3f716f8d13b4"; } "2c2ae2cc-5b1e-4413-8aaa-39333c1e9a86"; participantExt -> tgt.extension "bfcd7754-2e2c-4a44-bc89-274761f1e3b3"; } "bce4c9cd-9c4c-4420-9447-2081e7600bbf"; } "setFlagInvolved"; src.informed as informed then { src -> src.extension as participantExt, participantExt.url = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-ParticipantCareActor' then { informed -> participantExt.extension as participantRoleExt then { informed -> participantRoleExt.url = 'participantRole' "19e22396-763d-4df1-9e5b-fce3630c68ec"; informed -> participantRoleExt.valueCode = 'informed' "93f426ae-b881-4430-a1c3-4fda058f6f54"; } "6195a2f5-ba20-4706-8eba-a630a527a05d"; informed -> participantExt.extension as participantRefExt then { informed -> participantRefExt.url = 'participantReference' "8b2dd3ee-3d3f-46cd-82c7-448ca30ec058"; informed -> participantRefExt.valueReference as participantReference then { informed -> participantReference.reference = evaluate(informed, 'Practitioner/'+id) "6cbfa0be-37e9-49ce-88fd-7ef370f9561b"; informed -> participantReference.display = evaluate(informed, display) "902bd956-9717-45a1-9d59-1e9c5b2d5d7e"; } "0f67a6fd-deca-46aa-b308-9701ab296cb3"; } "03962f10-f4d2-45ec-9121-2193e16a611a"; participantExt -> tgt.extension "eebfc354-59e6-4d58-8a17-1ade4a185543"; } "051d1c4b-175e-4439-bff7-b85a5433afd1"; } "setFlagInformed"; src -> tgt.status = evaluate(src, status.code) "setFlagStatus"; src.category as category -> tgt.category as cat then { src -> cat.coding as coding then { src -> coding.system = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-FlagCategory-1' "7473dfc0-b68d-489a-8c1d-7064fabb3b54"; src -> coding.code = evaluate(category, code) "1088a9b6-a50a-4ed4-9e37-d1e3e90c7d3b"; src -> coding.display = evaluate(category, display) "b4e7cd32-3c1e-4724-a78b-c0fab49a82ad"; } "34ba4e7b-5026-4220-b098-681c660911fb"; } "setFlagCategory"; src -> tgt.code as code then { src -> code.text = evaluate(src, text) "6fb8599b-3e8b-40a3-8b77-3e03402b30e2"; } "setFlagCode"; src.subjectOfCare as subjectOfCare then { src -> tgt.subject as subject then { src -> subject.reference = evaluate(subjectOfCare, 'Patient/'+id) "42a5e32d-2b77-4dd4-8ce9-055252b47e17"; src -> subject.display = evaluate(subjectOfCare, display) "a4191f42-5e54-4ec2-8ac1-fa05ecd4d1e0"; } "9ee91ebc-79b9-43e2-a210-031be7c47709"; } "setFlagSubject"; src -> src.period as period then { src.startDate as start then { start -> period.start "fd93d9aa-9937-4b4a-a619-ffa2f786d25e"; }; src.endDate as end then { end -> period.end "10b39644-6814-4fd0-8875-03c4468f2ad8"; }; period where $this.start.empty().not()or$this.end.empty().not() -> tgt.period "b12648e2-2e6f-4a79-b16d-1c6601c75c0a"; } "setFlagPeriod"; }