| Package | silfhirprofileig |
| Resource Type | StructureMap |
| Id | Encounter4toSGHI5 |
| FHIR Version | R5 |
| Source | https://fhir.slade360.co.ke/fhir/https://build.fhir.org/ig/savannahghi/sil_fhir_profile_ig/StructureMap-Encounter4toSGHI5.html |
| URL | https://fhir.slade360.co.ke/fhir/StructureMap/Encounter4toSGHI5 |
| Version | 0.1.0 |
| Status | active |
| Date | 2025-07-10T13:42:01+00:00 |
| Name | Encounter4toSGHI5 |
| Title | Encounter Transforms: R4 → SGHI R5 |
| Description | EncounterTransformsR4SGHIR5 |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative: StructureMap Encounter4toSGHI5
/// url = 'https://fhir.slade360.co.ke/fhir/StructureMap/Encounter4toSGHI5' /// name = 'Encounter4toSGHI5' /// title = 'Encounter Transforms: R4 → SGHI R5' /// status = 'active' uses "http://hl7.org/fhir/4.0/StructureDefinition/Encounter" alias EncounterR4 as source uses "https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-encounter" alias SGHIEncounter as target imports "http://hl7.org/fhir/StructureMap/*4to5" group SGHIEncounter(source src : EncounterR4, target tgt : SGHIEncounter) extends DomainResource <<type+>> { src.id -> tgt.id; src.active -> tgt.active = 'true'; src.language -> tgt.language; src -> tgt.text = create('Narrative') as tgt_n then { src -> tgt_n.status = 'generated' "settextstatus"; src -> tgt_n.div = '<div xmlns=\"http://www.w3.org/1999/xhtml\"><h1>Generated text</h1></div>' "settextdiv"; } "createhardcodedtext"; src as sc where identifier.exists().not() -> tgt.identifier = create('Identifier') as tt_id then { src.id as uuid -> tt_id.value = uuid "creating id"; src -> tt_id.use = 'official' "creating use"; src -> tt_id.type as ty then { src -> ty.coding = create('CodeableConcept') as ty_c then { src -> ty_c.system = 'https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem' "creating coding"; src -> ty_c.code = 'fhir-id' "creating code"; src -> ty_c.display = 'FHIR Id' "creating display"; } "creating identifier type"; src -> tt_id.system = 'https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem' "creating system"; src.serviceProvider as sp -> tt_id.assigner = create('Reference') as t_assigner then { sp.reference -> t_assigner.reference; sp.display -> t_assigner.display; }; } "creating identifier type"; } "creating identifier"; // Create identifier src.episodeOfCare as se -> tgt.episodeOfCare = create('Reference') as te then { se.reference -> te.reference; se.id -> te.id; se.display where display.exists() -> te.display; src.episodeOfCare where display.exists().not() -> te.display = 'Encounter'; se.display -> te.display; }; src.status -> tgt.status; src where status = 'finished' then { src -> tgt.status = 'completed' "setting R5 status"; } "setting R5 status in target"; src -> tgt.class as t_c then { src.class as sc -> t_c.coding = create('CodeableConcept') as tt then TransformEncounterClass(sc, tt); } "translate coding to codeableconcept"; src.serviceProvider -> tgt.serviceProvider; src.meta as s_meta -> tgt.meta as t_meta then { s_meta.lastUpdated -> t_meta.lastUpdated; s_meta.language -> t_meta.language; s_meta.tags -> t_meta.tags; src.meta where profile.exists().not() -> t_meta.profile = 'https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-encounter' "setprofileinmeta"; } "set profile in meta"; src.period -> tgt.actualPeriod; src.subject -> tgt.subject; src.episodeOfcare -> tgt.episodeOfcare; src.subject as sb -> tgt.participant as tb then { sb -> tb.actor = create('Reference') as ar then { sb.reference -> ar.reference; sb.display -> ar.display; } "set actor from subject"; }; } group TransformAssigner(source src, target tgt) <<types>> { src.reference -> tgt.reference; src.display -> tgt.display; } group TransformEncounterClass(source src, target tgt) <<types>> { src.code -> tgt.code; src.display -> tgt.display; src.system -> tgt.system; src.userSelected -> tgt.userSelected; src.version -> tgt.version; }
{
"resourceType": "StructureMap",
"id": "Encounter4toSGHI5",
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "https://fhir.slade360.co.ke/fhir/StructureMap/Encounter4toSGHI5",
"version": "0.1.0",
"name": "Encounter4toSGHI5",
"title": "Encounter Transforms: R4 → SGHI R5",
"status": "active",
"date": "2025-07-10T13:42:01+00:00",
"publisher": "Kathurima Kimathi",
"contact": [
{
"name": "Kathurima Kimathi",
"telecom": [
{
"system": "url",
"value": "https://www.linkedin.com/in/kathurima-kimathi/"
},
{
"system": "email",
"value": "kathurimakimathi415@gmail.com"
}
]
},
{
"name": "Oscar John",
"telecom": [
{
"system": "email",
"value": "oscarjohnotieno@gmail.com",
"use": "work"
}
]
},
{
"name": "Kennedy Omondi",
"telecom": [
{
"system": "email",
"value": "kennankole@gmail.com",
"use": "work"
}
]
}
],
"description": "EncounterTransformsR4SGHIR5",
"structure": [
{
"url": "http://hl7.org/fhir/4.0/StructureDefinition/Encounter",
"mode": "source",
"alias": "EncounterR4"
},
{
"url": "https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-encounter",
"mode": "target",
"alias": "SGHIEncounter"
}
],
"import": [
"http://hl7.org/fhir/StructureMap/*4to5"
],
"group": [
{
"name": "SGHIEncounter",
"extends": "DomainResource",
"typeMode": "type-and-types",
"input": [
{
"name": "src",
"type": "EncounterR4",
"mode": "source"
},
{
"name": "tgt",
"type": "SGHIEncounter",
"mode": "target"
}
],
"rule": [
{
"name": "id",
"source": [
{
"context": "src",
"element": "id",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "id",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "active",
"source": [
{
"context": "src",
"element": "active"
}
],
"target": [
{
"context": "tgt",
"element": "active",
"transform": "copy",
"parameter": [
{
"valueString": "true"
}
]
}
]
},
{
"name": "language",
"source": [
{
"context": "src",
"element": "language",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "language",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "createhardcodedtext",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tgt",
"element": "text",
"variable": "tgt_n",
"transform": "create",
"parameter": [
{
"valueString": "Narrative"
}
]
}
],
"rule": [
{
"name": "settextstatus",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tgt_n",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "generated"
}
]
}
]
},
{
"name": "settextdiv",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tgt_n",
"element": "div",
"transform": "copy",
"parameter": [
{
"valueString": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h1>Generated text</h1></div>"
}
]
}
]
}
]
},
{
"name": "creating identifier",
"source": [
{
"context": "src",
"variable": "sc",
"condition": "identifier.exists().not()"
}
],
"target": [
{
"context": "tgt",
"element": "identifier",
"variable": "tt_id",
"transform": "create",
"parameter": [
{
"valueString": "Identifier"
}
]
}
],
"rule": [
{
"name": "creating id",
"source": [
{
"context": "src",
"element": "id",
"variable": "uuid"
}
],
"target": [
{
"context": "tt_id",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "uuid"
}
]
}
]
},
{
"name": "creating use",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tt_id",
"element": "use",
"transform": "copy",
"parameter": [
{
"valueString": "official"
}
]
}
]
},
{
"name": "creating identifier type",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tt_id",
"element": "type",
"variable": "ty"
}
],
"rule": [
{
"name": "creating identifier type",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "ty",
"element": "coding",
"variable": "ty_c",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
}
],
"rule": [
{
"name": "creating coding",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "ty_c",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem"
}
]
}
]
},
{
"name": "creating code",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "ty_c",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueString": "fhir-id"
}
]
}
]
},
{
"name": "creating display",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "ty_c",
"element": "display",
"transform": "copy",
"parameter": [
{
"valueString": "FHIR Id"
}
]
}
]
}
]
},
{
"name": "creating system",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tt_id",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem"
}
]
}
]
},
{
"name": "serviceProvider",
"source": [
{
"context": "src",
"element": "serviceProvider",
"variable": "sp"
}
],
"target": [
{
"context": "tt_id",
"element": "assigner",
"variable": "t_assigner",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "sp",
"element": "reference",
"variable": "vvv"
}
],
"target": [
{
"context": "t_assigner",
"element": "reference",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "display",
"source": [
{
"context": "sp",
"element": "display",
"variable": "vvv"
}
],
"target": [
{
"context": "t_assigner",
"element": "display",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
}
]
}
]
}
],
"documentation": "Create identifier"
},
{
"name": "episodeOfCare",
"source": [
{
"context": "src",
"element": "episodeOfCare",
"variable": "se"
}
],
"target": [
{
"context": "tgt",
"element": "episodeOfCare",
"variable": "te",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "se",
"element": "reference",
"variable": "vvv"
}
],
"target": [
{
"context": "te",
"element": "reference",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "id",
"source": [
{
"context": "se",
"element": "id",
"variable": "vvv"
}
],
"target": [
{
"context": "te",
"element": "id",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "display",
"source": [
{
"context": "se",
"element": "display",
"variable": "vvv",
"condition": "display.exists()"
}
],
"target": [
{
"context": "te",
"element": "display",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "episodeOfCare",
"source": [
{
"context": "src",
"element": "episodeOfCare",
"condition": "display.exists().not()"
}
],
"target": [
{
"context": "te",
"element": "display",
"transform": "copy",
"parameter": [
{
"valueString": "Encounter"
}
]
}
]
},
{
"name": "display",
"source": [
{
"context": "se",
"element": "display",
"variable": "vvv"
}
],
"target": [
{
"context": "te",
"element": "display",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
}
]
},
{
"name": "status",
"source": [
{
"context": "src",
"element": "status",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "status",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "setting R5 status in target",
"source": [
{
"context": "src",
"condition": "status = 'finished'"
}
],
"rule": [
{
"name": "setting R5 status",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tgt",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "completed"
}
]
}
]
}
]
},
{
"name": "translate coding to codeableconcept",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tgt",
"element": "class",
"variable": "t_c"
}
],
"rule": [
{
"name": "class",
"source": [
{
"context": "src",
"element": "class",
"variable": "sc"
}
],
"target": [
{
"context": "t_c",
"element": "coding",
"variable": "tt",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
}
],
"dependent": [
{
"name": "TransformEncounterClass",
"parameter": [
{
"valueId": "sc"
},
{
"valueId": "tt"
}
]
}
]
}
]
},
{
"name": "serviceProvider",
"source": [
{
"context": "src",
"element": "serviceProvider",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "serviceProvider",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "set profile in meta",
"source": [
{
"context": "src",
"element": "meta",
"variable": "s_meta"
}
],
"target": [
{
"context": "tgt",
"element": "meta",
"variable": "t_meta"
}
],
"rule": [
{
"name": "lastUpdated",
"source": [
{
"context": "s_meta",
"element": "lastUpdated",
"variable": "vvv"
}
],
"target": [
{
"context": "t_meta",
"element": "lastUpdated",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "language",
"source": [
{
"context": "s_meta",
"element": "language",
"variable": "vvv"
}
],
"target": [
{
"context": "t_meta",
"element": "language",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "tags",
"source": [
{
"context": "s_meta",
"element": "tags",
"variable": "vvv"
}
],
"target": [
{
"context": "t_meta",
"element": "tags",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "setprofileinmeta",
"source": [
{
"context": "src",
"element": "meta",
"condition": "profile.exists().not()"
}
],
"target": [
{
"context": "t_meta",
"element": "profile",
"transform": "copy",
"parameter": [
{
"valueString": "https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-encounter"
}
]
}
]
}
]
},
{
"name": "period",
"source": [
{
"context": "src",
"element": "period",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "actualPeriod",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "subject",
"source": [
{
"context": "src",
"element": "subject",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "subject",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "episodeOfcare",
"source": [
{
"context": "src",
"element": "episodeOfcare",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "episodeOfcare",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "subject",
"source": [
{
"context": "src",
"element": "subject",
"variable": "sb"
}
],
"target": [
{
"context": "tgt",
"element": "participant",
"variable": "tb"
}
],
"rule": [
{
"name": "set actor from subject",
"source": [
{
"context": "sb"
}
],
"target": [
{
"context": "tb",
"element": "actor",
"variable": "ar",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "sb",
"element": "reference",
"variable": "vvv"
}
],
"target": [
{
"context": "ar",
"element": "reference",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "display",
"source": [
{
"context": "sb",
"element": "display",
"variable": "vvv"
}
],
"target": [
{
"context": "ar",
"element": "display",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "TransformAssigner",
"typeMode": "types",
"input": [
{
"name": "src",
"mode": "source"
},
{
"name": "tgt",
"mode": "target"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "src",
"element": "reference",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "reference",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "display",
"source": [
{
"context": "src",
"element": "display",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "display",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
}
]
},
{
"name": "TransformEncounterClass",
"typeMode": "types",
"input": [
{
"name": "src",
"mode": "source"
},
{
"name": "tgt",
"mode": "target"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "code",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "display",
"source": [
{
"context": "src",
"element": "display",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "display",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "system",
"source": [
{
"context": "src",
"element": "system",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "system",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "userSelected",
"source": [
{
"context": "src",
"element": "userSelected",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "userSelected",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
},
{
"name": "version",
"source": [
{
"context": "src",
"element": "version",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"element": "version",
"variable": "vvv",
"transform": "create"
}
],
"dependent": [
{
"name": "DefaultMappingGroupAnonymousAlias",
"parameter": [
{
"valueId": "vvv"
},
{
"valueId": "vvv"
}
]
}
]
}
]
}
]
}