Authored in FHIR Mapping Language. Executed natively in Python by the mapper; this map is the authored spec and a CI-only fidelity oracle.
| Canonical | https://emsinterop.com/fhir/StructureMap/NemsisEProceduresToProcedure |
|---|---|
| Resource type | StructureMap |
| Status | draft |
../NemsisEProceduresToProcedure.json
../NemsisEProceduresToProcedure.fml — the authored FML source
{
"resourceType": "StructureMap",
"url": "https://emsinterop.com/fhir/StructureMap/NemsisEProceduresToProcedure",
"name": "NemsisEProceduresToProcedure",
"status": "draft",
"description": "Authored in FHIR Mapping Language. Executed natively in Python by the mapper; this map is the authored spec and a CI-only fidelity oracle.",
"_fml": "// NEMSIS eProcedures.ProcedureGroup -> FHIR R4 Procedure\n// PN rule (hard rule #4): a pertinent negative on eProcedures.03 (refused /\n// contraindicated / order criteria not met) means the procedure was NOT\n// performed \u2014 status=not-done + statusReason \u2014 never a dropped element.\n// SNOMED pass-through for performed procedures (XSD-verified terminology).\n// Production execution is native Python (mapping/procedures.py); the\n// reference Java engine runs this map in CI as the fidelity oracle.\n\nmap \"https://emsinterop.com/fhir/StructureMap/NemsisEProceduresToProcedure\" = \"NemsisEProceduresToProcedure\"\n\nuses \"https://emsinterop.com/fhir/StructureDefinition/NemsisEProcedureGroup\" alias EProcGroup as source\nuses \"http://hl7.org/fhir/StructureDefinition/Procedure\" alias Procedure as target\n\ngroup ProcedureGroupToProcedure(source grp : EProcGroup, target tgt : Procedure) {\n grp.eProcedures_01 as t -> tgt.performed = cast(t, \"dateTime\") \"performed\";\n\n grp.eProcedures_03 as code -> tgt.status = 'completed', tgt.code = create('CodeableConcept') as cc then {\n code -> cc.coding as c, c.system = 'http://snomed.info/sct', c.code = code \"snomed\";\n } \"performedProcedure\";\n\n grp.eProcedures_03_pn as pn -> tgt.status = 'not-done', tgt.statusReason = create('CodeableConcept') as cc then {\n pn -> cc.coding as c, c.system = 'https://profiles.ihe.net/PCC/mPSC/CodeSystem/NEMSIS', c.code = pn \"pnCoding\";\n } \"notPerformed\";\n\n grp.eProcedures_03 as code -> tgt.outcome = create('CodeableConcept') as cc then {\n grp.eProcedures_06 as success -> cc.coding as c,\n c.system = 'https://profiles.ihe.net/PCC/mPSC/CodeSystem/NEMSIS', c.code = success \"successCoding\";\n } \"outcome\";\n}\n"
}