← back

NemsisEProceduresToProcedure

Authored in FHIR Mapping Language. Executed natively in Python by the mapper; this map is the authored spec and a CI-only fidelity oracle.

Canonicalhttps://emsinterop.com/fhir/StructureMap/NemsisEProceduresToProcedure
Resource typeStructureMap
Statusdraft

Machine-readable

../NemsisEProceduresToProcedure.json

../NemsisEProceduresToProcedure.fml — the authored FML source

Preview

{
  "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"
}