FHIR IG analytics| Package | ethiopia.fhir.hiv |
| Resource Type | StructureMap |
| Id | StructureMap-FamilyPlanningMethodToObservation.json |
| FHIR Version | R4 |
| Source | https://build.fhir.org/ig/jembi/ethiopia-hiv/StructureMap-FamilyPlanningMethodToObservation.html |
| URL | http://moh.gov.et/fhir/hiv/StructureMap/FamilyPlanningMethodToObservation |
| Version | 1.0.1 |
| Status | draft |
| Date | 2026-02-09T05:22:58+00:00 |
| Name | FamilyPlanningMethodToObservation |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative: StructureMap FamilyPlanningMethodToObservation
map "http://moh.gov.et/fhir/hiv/StructureMap/FamilyPlanningMethodToObservation" = "FamilyPlanningMethodToObservation" uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" as source uses "http://moh.gov.et/fhir/hiv/StructureDefinition/family-planning-method-observation" as target group FamilyPlanningMethodToObservation(source src : QuestionnaireResponse, target tgt : Observation) { src -> tgt.id = uuid() "SetObservationId"; src -> tgt.status = 'final' "SetStatusCodeValue"; src -> tgt.code = cc('http://snomed.info/sct', '243816001') "SetCodeCodeableConcept"; src.authored as authored -> tgt.effective = create('dateTime') as observationDate then { authored as authoredDate -> observationDate = authoredDate "SetObservationDate"; } "ProcessObservationDate"; src -> tgt.category = cc('http://hl7.org/fhir/observation-category', 'social-history') "SetCategoryCodeableConcept"; src.subject as patient -> tgt.subject = create('Reference') as subject then { patient as pat -> subject.reference = pat "SetPatientReference"; } "ProcessPatientReference"; src.author as author -> tgt.performer = create('Reference') as performer then { author as auth -> performer.reference = auth "SetAuthorReference"; } "ProcessAuthorReference"; src.encounter as QREncounter -> tgt.encounter = create('Reference') as ObsEncounter then { QREncounter as enc -> ObsEncounter.reference = enc "SetEncounterReference"; } "ProcessAuthorReference"; src.item as item where (linkId = 'fpm') then { item.answer first as ans then { ans.value : Coding as fpm -> tgt.extension = create('Extension') as fpmExtension then { fpm -> fpmExtension.value = create('CodeableConcept') as fpmExtensionValue then { fpm -> fpmExtensionValue = fpm "SetCoding"; } "SetExtensionCodeCodeableConcept"; }; }; }; }
{
"resourceType": "StructureMap",
"id": "FamilyPlanningMethodToObservation",
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "http://moh.gov.et/fhir/hiv/StructureMap/FamilyPlanningMethodToObservation",
"version": "1.0.1",
"name": "FamilyPlanningMethodToObservation",
"status": "draft",
"date": "2026-02-09T05:22:58+00:00",
"publisher": "Jembi Health Systems",
"contact": [
{
"name": "Jembi Health Systems",
"telecom": [
{
"system": "url",
"value": "https://www.jembi.org"
},
{
"system": "email",
"value": "info@jembi.org"
}
]
},
{
"name": "Jembi Health Systems",
"telecom": [
{
"system": "email",
"value": "info@jembi.org",
"use": "work"
}
]
}
],
"jurisdiction": [
{
"coding": [
{
"system": "urn:iso:std:iso:3166",
"code": "ET",
"display": "Ethiopia"
}
]
}
],
"structure": [
{
"url": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
"mode": "source"
},
{
"url": "http://moh.gov.et/fhir/hiv/StructureDefinition/family-planning-method-observation",
"mode": "target"
}
],
"group": [
{
"name": "FamilyPlanningMethodToObservation",
"typeMode": "none",
"input": [
{
"name": "src",
"type": "QuestionnaireResponse",
"mode": "source"
},
{
"name": "tgt",
"type": "Observation",
"mode": "target"
}
],
"rule": [
{
"name": "SetObservationId",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "id",
"transform": "uuid"
}
]
},
{
"name": "SetStatusCodeValue",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "final"
}
]
}
]
},
{
"name": "SetCodeCodeableConcept",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "code",
"transform": "cc",
"parameter": [
{
"valueString": "http://snomed.info/sct"
},
{
"valueString": "243816001"
}
]
}
]
},
{
"name": "ProcessObservationDate",
"source": [
{
"context": "src",
"element": "authored",
"variable": "authored"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "effective",
"variable": "observationDate",
"transform": "create",
"parameter": [
{
"valueString": "dateTime"
}
]
}
],
"rule": [
{
"name": "SetObservationDate",
"source": [
{
"context": "authored",
"variable": "authoredDate"
}
],
"target": [
{
"context": "observationDate",
"contextType": "variable",
"transform": "copy",
"parameter": [
{
"valueId": "authoredDate"
}
]
}
]
}
]
},
{
"name": "SetCategoryCodeableConcept",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "category",
"transform": "cc",
"parameter": [
{
"valueString": "http://hl7.org/fhir/observation-category"
},
{
"valueString": "social-history"
}
]
}
]
},
{
"name": "ProcessPatientReference",
"source": [
{
"context": "src",
"element": "subject",
"variable": "patient"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "subject",
"variable": "subject",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
}
],
"rule": [
{
"name": "SetPatientReference",
"source": [
{
"context": "patient",
"variable": "pat"
}
],
"target": [
{
"context": "subject",
"contextType": "variable",
"element": "reference",
"transform": "copy",
"parameter": [
{
"valueId": "pat"
}
]
}
]
}
]
},
{
"name": "ProcessAuthorReference",
"source": [
{
"context": "src",
"element": "author",
"variable": "author"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "performer",
"variable": "performer",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
}
],
"rule": [
{
"name": "SetAuthorReference",
"source": [
{
"context": "author",
"variable": "auth"
}
],
"target": [
{
"context": "performer",
"contextType": "variable",
"element": "reference",
"transform": "copy",
"parameter": [
{
"valueId": "auth"
}
]
}
]
}
]
},
{
"name": "ProcessAuthorReference",
"source": [
{
"context": "src",
"element": "encounter",
"variable": "QREncounter"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "encounter",
"variable": "ObsEncounter",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
}
],
"rule": [
{
"name": "SetEncounterReference",
"source": [
{
"context": "QREncounter",
"variable": "enc"
}
],
"target": [
{
"context": "ObsEncounter",
"contextType": "variable",
"element": "reference",
"transform": "copy",
"parameter": [
{
"valueId": "enc"
}
]
}
]
}
]
},
{
"name": "item",
"source": [
{
"context": "src",
"element": "item",
"variable": "item",
"condition": "(linkId = 'fpm')"
}
],
"rule": [
{
"name": "answer",
"source": [
{
"context": "item",
"element": "answer",
"listMode": "first",
"variable": "ans"
}
],
"rule": [
{
"name": "valueCoding",
"source": [
{
"context": "ans",
"type": "Coding",
"element": "value",
"variable": "fpm"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "extension",
"variable": "fpmExtension",
"transform": "create",
"parameter": [
{
"valueString": "Extension"
}
]
}
],
"rule": [
{
"name": "SetExtensionCodeCodeableConcept",
"source": [
{
"context": "fpm"
}
],
"target": [
{
"context": "fpmExtension",
"contextType": "variable",
"element": "value",
"variable": "fpmExtensionValue",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
}
],
"rule": [
{
"name": "SetCoding",
"source": [
{
"context": "fpm"
}
],
"target": [
{
"context": "fpmExtensionValue",
"contextType": "variable",
"transform": "copy",
"parameter": [
{
"valueId": "fpm"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}