FHIR © HL7.org  |  Server Home  |  XIG Home  |  Server Source  |  FHIR  

FHIR IG Statistics: StructureMap/ProcedureMap

Packagehl7.fhir.uv.omop
TypeStructureMap
IdProcedureMap
FHIR VersionR5
Sourcehttp://hl7.org/fhir/uv/omop/https://build.fhir.org/ig/HL7/fhir-omop-ig/StructureMap-ProcedureMap.html
URLhttp://hl7.org/fhir/uv/omop/StructureMap/ProcedureMap
Version1.0.0-ballot
Statusdraft
Date2025-07-22T19:48:02+00:00
NameProcedureMap
TitleMapping Procedure resource to Procedure Occurrence OMOP Domain
Realmuv
Authorityhl7
DescriptionThis mapping maps FHIR Procedure instances to OMOP Procedure Occurrence Table objects.

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: StructureMap ProcedureMap

/// url = 'http://hl7.org/fhir/uv/omop/StructureMap/ProcedureMap'
/// name = 'ProcedureMap'
/// title = 'Mapping Procedure resource to Procedure Occurrence OMOP Domain'
/// status = 'draft'

uses "http://hl7.org/fhir/StructureDefinition/Procedure" alias Procedure as source
uses "http://hl7.org/fhir/uv/omop/StructureDefinition/ProcedureOccurrence" alias ProcedureTable as target

group ProcedureOccurrence(source src : Procedure, target tgt : ProcedureTable) {
  src.code as s -> tgt then {
    s.coding as sc -> tgt then {
      sc.code as a ->  tgt.procedure_concept_id,  tgt.procedure_source_value,  tgt.procedure_source_concept_id = a;
    };
  }; // src.id as id -> tgt.procedure_occurrence_id = cast(id, "integer");
  src.occurrence : dateTime as edt ->  tgt.procedure_datetime = cast(edt, 'dateTime'),  tgt.procedure_date = edt;
  src.occurrence : Period as s -> tgt then {
    s.start as start ->  tgt.procedure_datetime = cast(start, 'dateTime'),  tgt.procedure_date = start;
    s.end as end ->  tgt.procedure_end_datetime,  tgt.procedure_end_date = end;
  };
}


Source

{
  "resourceType": "StructureMap",
  "id": "ProcedureMap",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "brr"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 1,
      "_valueInteger": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
            "valueCanonical": "http://hl7.org/fhir/uv/omop/ImplementationGuide/hl7.fhir.uv.omop"
          }
        ]
      }
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "informative",
      "_valueCode": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
            "valueCanonical": "http://hl7.org/fhir/uv/omop/ImplementationGuide/hl7.fhir.uv.omop"
          }
        ]
      }
    }
  ],
  "url": "http://hl7.org/fhir/uv/omop/StructureMap/ProcedureMap",
  "version": "1.0.0-ballot",
  "name": "ProcedureMap",
  "title": "Mapping Procedure resource to Procedure Occurrence OMOP Domain",
  "status": "draft",
  "date": "2025-07-22T19:48:02+00:00",
  "publisher": "HL7 International / Biomedical Research and Regulation",
  "contact": [
    {
      "name": "HL7 International / Biomedical Research and Regulation",
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/rcrim"
        }
      ]
    }
  ],
  "description": "This mapping maps FHIR Procedure instances to OMOP Procedure Occurrence Table objects.",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001",
          "display": "World"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Procedure",
      "mode": "source",
      "alias": "Procedure"
    },
    {
      "url": "http://hl7.org/fhir/uv/omop/StructureDefinition/ProcedureOccurrence",
      "mode": "target",
      "alias": "ProcedureTable"
    }
  ],
  "group": [
    {
      "name": "ProcedureOccurrence",
      "input": [
        {
          "name": "src",
          "type": "Procedure",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "ProcedureTable",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "code",
          "source": [
            {
              "context": "src",
              "element": "code",
              "variable": "s"
            }
          ],
          "target": [
            {
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "tgt"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "coding",
              "source": [
                {
                  "context": "s",
                  "element": "coding",
                  "variable": "sc"
                }
              ],
              "target": [
                {
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "tgt"
                    }
                  ]
                }
              ],
              "rule": [
                {
                  "name": "code",
                  "source": [
                    {
                      "context": "sc",
                      "element": "code",
                      "variable": "a"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "element": "procedure_concept_id"
                    },
                    {
                      "context": "tgt",
                      "element": "procedure_source_value"
                    },
                    {
                      "context": "tgt",
                      "element": "procedure_source_concept_id",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "a"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "src.id as id -> tgt.procedure_occurrence_id = cast(id, \"integer\");"
        },
        {
          "name": "occurrenceDateTime",
          "source": [
            {
              "context": "src",
              "type": "dateTime",
              "element": "occurrence",
              "variable": "edt"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "procedure_datetime",
              "transform": "cast",
              "parameter": [
                {
                  "valueId": "edt"
                },
                {
                  "valueString": "dateTime"
                }
              ]
            },
            {
              "context": "tgt",
              "element": "procedure_date",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "edt"
                }
              ]
            }
          ]
        },
        {
          "name": "occurrencePeriod",
          "source": [
            {
              "context": "src",
              "type": "Period",
              "element": "occurrence",
              "variable": "s"
            }
          ],
          "target": [
            {
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "tgt"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "start",
              "source": [
                {
                  "context": "s",
                  "element": "start",
                  "variable": "start"
                }
              ],
              "target": [
                {
                  "context": "tgt",
                  "element": "procedure_datetime",
                  "transform": "cast",
                  "parameter": [
                    {
                      "valueId": "start"
                    },
                    {
                      "valueString": "dateTime"
                    }
                  ]
                },
                {
                  "context": "tgt",
                  "element": "procedure_date",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "start"
                    }
                  ]
                }
              ]
            },
            {
              "name": "end",
              "source": [
                {
                  "context": "s",
                  "element": "end",
                  "variable": "end"
                }
              ],
              "target": [
                {
                  "context": "tgt",
                  "element": "procedure_end_datetime"
                },
                {
                  "context": "tgt",
                  "element": "procedure_end_date",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "end"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}