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-06-10 | 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) "269766d2-4bbd-4175-a3cb-f286901e6188"; 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' "cb5a3c92-0e4a-467b-accf-584f502cdf7f"; involved -> participantRoleExt.valueCode = 'involved' "e87611ea-d210-4e08-bb44-ed279dd667a4"; } "f8c5054b-e0e8-4e76-b5d6-4a6289707000"; involved -> participantExt.extension as participantRefExt then { involved -> participantRefExt.url = 'participantReference' "48267a87-d1db-42cf-9474-bf3945715e29"; involved -> participantRefExt.valueReference as participantReference then { involved -> participantReference.reference = evaluate(involved, 'Practitioner/'+id) "79d8e31a-8633-4649-8996-ad80e0f4eead"; involved -> participantReference.display = evaluate(involved, display) "fba1d485-3d53-48d1-a08a-d74dda58b97f"; } "4755668e-6407-4d4d-8f4a-ce91242f807c"; } "e3073b44-a31f-4de1-a43f-be24a3809008"; participantExt -> tgt.extension "db77b914-1fe6-4b57-823a-f0b2c6514d23"; } "fa20de60-d885-4db3-acba-df5d5eb3a2b4"; } "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' "09520c6c-2aef-44d7-b1b9-7f64091066f5"; informed -> participantRoleExt.valueCode = 'informed' "462d90c1-7742-4e3c-9443-73731421da17"; } "365a7cf9-c708-467e-af3f-761ae32b2eef"; informed -> participantExt.extension as participantRefExt then { informed -> participantRefExt.url = 'participantReference' "62525c3c-0fae-49a5-991c-46423961f338"; informed -> participantRefExt.valueReference as participantReference then { informed -> participantReference.reference = evaluate(informed, 'Practitioner/'+id) "5ab28933-a6b8-4619-8085-de4060bb1891"; informed -> participantReference.display = evaluate(informed, display) "c481f7e9-3052-4070-b4ae-ae33afb57dbb"; } "3ecd590e-6034-4391-b09a-5b5819913d37"; } "8e3fdbe4-aad0-4970-8c25-548bb5cb292d"; participantExt -> tgt.extension "ec19c404-dae0-4503-81f6-5ba88d07181b"; } "3e5474b6-0537-4008-b1c0-d96f2cf9190b"; } "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' "629421a3-65d9-4bfa-a4d1-809cbbdde595"; src -> coding.code = evaluate(category, code) "53aebb59-f111-4b95-9703-3f811e734b48"; src -> coding.display = evaluate(category, display) "7eb974f1-c6d4-4838-bf83-8768d9e57872"; } "725d9657-f8f3-431f-a226-5c9ff1566b14"; } "setFlagCategory"; src -> tgt.code as code then { src -> code.text = evaluate(src, text) "7bd1834b-9c10-4ac0-9c9f-3acba532e050"; } "setFlagCode"; src.subjectOfCare as subjectOfCare then { src -> tgt.subject as subject then { src -> subject.reference = evaluate(subjectOfCare, 'Patient/'+id) "4382eec8-d25e-4f3a-8b8f-ec2727fa851c"; src -> subject.display = evaluate(subjectOfCare, display) "9f327577-4130-4d05-a287-7fd4525dab98"; } "8a755d1b-499c-4ea1-99f2-7aad265fecb3"; } "setFlagSubject"; src -> src.period as period then { src.startDate as start then { start -> period.start "0d0d2920-d349-40cc-ad49-30526733d9e5"; }; src.endDate as end then { end -> period.end "02516b3b-9a72-400d-bfe7-d1a4e7c0f64d"; }; period where $this.start.empty().not()or$this.end.empty().not() -> tgt.period "70f0be1b-54c3-4503-9b8c-6eacfdf6b381"; } "setFlagPeriod"; }