FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packagehl7.fhir.uv.omop
Resource TypeStructureMap
IdStructureMap-RecordSetMap.json
FHIR VersionR5
Sourcehttps://build.fhir.org/ig/HL7/fhir-omop-ig/StructureMap-RecordSetMap.html
URLhttp://hl7.org/fhir/uv/omop/StructureMap/RecordSetMap
Version2.0.0-ballot
Statusactive
Date2026-08-06T19:12:13+00:00
NameRecordSetMap
TitleMapping an International Patient Summary resource to OMOP domains collected in a RecordSet resource
Realmuv
Authorityhl7
DescriptionThis mapping maps a FHIR International Patient Summary Bundle to a set of OMOP Patient records collected in a RecordSet resource.

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 RecordSetMap

/// url = 'http://hl7.org/fhir/uv/omop/StructureMap/RecordSetMap'
/// name = 'RecordSetMap'
/// title = 'Mapping an International Patient Summary resource to OMOP domains collected in a RecordSet resource'
/// status = 'active'
/// description = 'This mapping maps a FHIR International Patient Summary Bundle to a set of OMOP Patient records collected in a RecordSet resource.'

uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias Bundle as source
uses "http://hl7.org/fhir/uv/omop/StructureDefinition/RecordSet" alias RecordSetTable as target

imports "http://hl7.org/fhir/uv/omop/StructureMap/AllergyMap"
imports "http://hl7.org/fhir/uv/omop/StructureMap/BloodPressureVitalSignsMap"
imports "http://hl7.org/fhir/uv/omop/StructureMap/ConditionMap"
imports "http://hl7.org/fhir/uv/omop/StructureMap/EncounterVisitMap"
imports "http://hl7.org/fhir/uv/omop/StructureMap/ImmunizationMap"
imports "http://hl7.org/fhir/uv/omop/StructureMap/MeasurementMap"
imports "http://hl7.org/fhir/uv/omop/StructureMap/PersonMap"
imports "http://hl7.org/fhir/uv/omop/StructureMap/ProcedureMap"
imports "http://hl7.org/fhir/uv/omop/StructureMap/SimpleVitalSignsMap"

group RecordSet(source src : Bundle, target tgt : RecordSetTable) {
  src.id as s -> tgt then {
    s.id as id -> tgt.record_id = (%id.substring(%id.indexOf('/') + 1));
  };
  // Map bundle timestamp
  src.timestamp as ts -> tgt.record_set_timestamp = ts;
  // Map bundle entries
  src.entry as entry -> tgt then {
    entry.resource : AllergyIntolerance as a -> tgt then {
      a -> tgt.allergy as allergy then Allergy(a, allergy) "allergyEntry";
    } "allergyIntoleranceEntry";
    entry.resource : Condition as condition -> tgt then {
      condition -> tgt.condition as conditionOccurrence then ConditionOccurrence(condition, conditionOccurrence) "conditionEntry";
    } "conditionOccurenceEntry";
    entry.resource : Encounter as encounter -> tgt then {
      encounter -> tgt.visitOccurrence as visitOccurrence then VisitOccurrence(encounter, visitOccurrence) "encounterEntry";
    } "conditionOccurenceEntry";
    entry.resource : Observation as observation -> tgt then {
      observation -> tgt.measurement as measurement then Measures(observation, measurement) "measurementEntry";
      observation -> tgt as recordSet then BloodPressure(observation, recordSet) "bloodPressureEntry";
      observation -> tgt.measurement as vitalSign then VitalSigns(observation, vitalSign) "simpleVitalSignEntry";
    } "observationEntry";
    entry.resource : Patient as patient -> tgt then {
      patient.id as s -> tgt then {
        s.id as id -> tgt.patient_id = (%id.substring(%id.indexOf('/') + 1));
      };
    };
    entry.resource : Encounter as encounter -> tgt then {
      encounter -> tgt.visitOccurrence as visit then VisitOccurrence(encounter, visit) "visit";
    };
  } "bundleEntry";
}


Source1

{
  "resourceType": "StructureMap",
  "id": "RecordSetMap",
  "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": 2,
      "_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": "trial-use",
      "_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/RecordSetMap",
  "identifier": [
    {
      "system": "urn:ietf:rfc:3986",
      "value": "urn:oid:2.16.840.1.113883.4.642.40.77.43.10"
    }
  ],
  "version": "2.0.0-ballot",
  "name": "RecordSetMap",
  "title": "Mapping an International Patient Summary resource to OMOP domains collected in a RecordSet resource",
  "status": "active",
  "date": "2026-08-06T19:12:13+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 a FHIR International Patient Summary Bundle to a set of OMOP Patient records collected in a RecordSet resource.",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001",
          "display": "World"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Bundle",
      "mode": "source",
      "alias": "Bundle"
    },
    {
      "url": "http://hl7.org/fhir/uv/omop/StructureDefinition/RecordSet",
      "mode": "target",
      "alias": "RecordSetTable"
    }
  ],
  "import": [
    "http://hl7.org/fhir/uv/omop/StructureMap/AllergyMap",
    "http://hl7.org/fhir/uv/omop/StructureMap/BloodPressureVitalSignsMap",
    "http://hl7.org/fhir/uv/omop/StructureMap/ConditionMap",
    "http://hl7.org/fhir/uv/omop/StructureMap/EncounterVisitMap",
    "http://hl7.org/fhir/uv/omop/StructureMap/ImmunizationMap",
    "http://hl7.org/fhir/uv/omop/StructureMap/MeasurementMap",
    "http://hl7.org/fhir/uv/omop/StructureMap/PersonMap",
    "http://hl7.org/fhir/uv/omop/StructureMap/ProcedureMap",
    "http://hl7.org/fhir/uv/omop/StructureMap/SimpleVitalSignsMap"
  ],
  "group": [
    {
      "name": "RecordSet",
      "input": [
        {
          "name": "src",
          "type": "Bundle",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "RecordSetTable",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "id",
          "source": [
            {
              "context": "src",
              "element": "id",
              "variable": "s"
            }
          ],
          "target": [
            {
              "context": "tgt"
            }
          ],
          "rule": [
            {
              "name": "id",
              "source": [
                {
                  "context": "s",
                  "element": "id",
                  "variable": "id"
                }
              ],
              "target": [
                {
                  "context": "tgt",
                  "element": "record_id",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%id.substring(%id.indexOf('/') + 1)"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "timestamp",
          "source": [
            {
              "context": "src",
              "element": "timestamp",
              "variable": "ts"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "record_set_timestamp",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "ts"
                }
              ]
            }
          ],
          "documentation": "Map bundle timestamp"
        },
        {
          "name": "bundleEntry",
          "source": [
            {
              "context": "src",
              "element": "entry",
              "variable": "entry"
            }
          ],
          "target": [
            {
              "context": "tgt"
            }
          ],
          "rule": [
            {
              "name": "allergyIntoleranceEntry",
              "source": [
                {
                  "context": "entry",
                  "type": "AllergyIntolerance",
                  "element": "resource",
                  "variable": "a"
                }
              ],
              "target": [
                {
                  "context": "tgt"
                }
              ],
              "rule": [
                {
                  "name": "allergyEntry",
                  "source": [
                    {
                      "context": "a"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "element": "allergy",
                      "variable": "allergy"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "Allergy",
                      "parameter": [
                        {
                          "valueId": "a"
                        },
                        {
                          "valueId": "allergy"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "conditionOccurenceEntry",
              "source": [
                {
                  "context": "entry",
                  "type": "Condition",
                  "element": "resource",
                  "variable": "condition"
                }
              ],
              "target": [
                {
                  "context": "tgt"
                }
              ],
              "rule": [
                {
                  "name": "conditionEntry",
                  "source": [
                    {
                      "context": "condition"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "element": "condition",
                      "variable": "conditionOccurrence"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "ConditionOccurrence",
                      "parameter": [
                        {
                          "valueId": "condition"
                        },
                        {
                          "valueId": "conditionOccurrence"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "conditionOccurenceEntry",
              "source": [
                {
                  "context": "entry",
                  "type": "Encounter",
                  "element": "resource",
                  "variable": "encounter"
                }
              ],
              "target": [
                {
                  "context": "tgt"
                }
              ],
              "rule": [
                {
                  "name": "encounterEntry",
                  "source": [
                    {
                      "context": "encounter"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "element": "visitOccurrence",
                      "variable": "visitOccurrence"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "VisitOccurrence",
                      "parameter": [
                        {
                          "valueId": "encounter"
                        },
                        {
                          "valueId": "visitOccurrence"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "observationEntry",
              "source": [
                {
                  "context": "entry",
                  "type": "Observation",
                  "element": "resource",
                  "variable": "observation"
                }
              ],
              "target": [
                {
                  "context": "tgt"
                }
              ],
              "rule": [
                {
                  "name": "measurementEntry",
                  "source": [
                    {
                      "context": "observation"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "element": "measurement",
                      "variable": "measurement"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "Measures",
                      "parameter": [
                        {
                          "valueId": "observation"
                        },
                        {
                          "valueId": "measurement"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "bloodPressureEntry",
                  "source": [
                    {
                      "context": "observation"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "variable": "recordSet"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "BloodPressure",
                      "parameter": [
                        {
                          "valueId": "observation"
                        },
                        {
                          "valueId": "recordSet"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "simpleVitalSignEntry",
                  "source": [
                    {
                      "context": "observation"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "element": "measurement",
                      "variable": "vitalSign"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "VitalSigns",
                      "parameter": [
                        {
                          "valueId": "observation"
                        },
                        {
                          "valueId": "vitalSign"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "resourcePatient",
              "source": [
                {
                  "context": "entry",
                  "type": "Patient",
                  "element": "resource",
                  "variable": "patient"
                }
              ],
              "target": [
                {
                  "context": "tgt"
                }
              ],
              "rule": [
                {
                  "name": "id",
                  "source": [
                    {
                      "context": "patient",
                      "element": "id",
                      "variable": "s"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt"
                    }
                  ],
                  "rule": [
                    {
                      "name": "id",
                      "source": [
                        {
                          "context": "s",
                          "element": "id",
                          "variable": "id"
                        }
                      ],
                      "target": [
                        {
                          "context": "tgt",
                          "element": "patient_id",
                          "transform": "evaluate",
                          "parameter": [
                            {
                              "valueString": "%id.substring(%id.indexOf('/') + 1)"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "resourceEncounter",
              "source": [
                {
                  "context": "entry",
                  "type": "Encounter",
                  "element": "resource",
                  "variable": "encounter"
                }
              ],
              "target": [
                {
                  "context": "tgt"
                }
              ],
              "rule": [
                {
                  "name": "visit",
                  "source": [
                    {
                      "context": "encounter"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "element": "visitOccurrence",
                      "variable": "visit"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "VisitOccurrence",
                      "parameter": [
                        {
                          "valueId": "encounter"
                        },
                        {
                          "valueId": "visit"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Map bundle entries"
        }
      ]
    }
  ]
}