PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.omop@1.0.0-ballot
    http://hl7.org/fhir/uv/omop/StructureMap/ObservationMap
{
  "description": "This mapping maps FHIR Observation instances that are NOT considered measurements to OMOP Observation Table objects.  Currently, this is done by considering the category code and mapping 'social-history', 'imaging', 'survey', 'exam', 'therapy', 'activity', and 'procedure' Observations.",
  "_filename": "StructureMap-ObservationMap.json",
  "package_name": "hl7.fhir.uv.omop",
  "date": "2025-07-29T21:03:04+00:00",
  "group": [ {
    "name": "Observe",
    "rule": [ {
      "name": "OnlyObs",
      "rule": [ {
        "name": "code",
        "rule": [ {
          "name": "coding",
          "rule": [ {
            "name": "code",
            "source": [ {
              "context": "sc",
              "element": "code",
              "variable": "a"
            } ],
            "target": [ {
              "context": "tgt",
              "element": "observation_concept_id",
              "parameter": [ {
                "valueId": "a"
              } ],
              "transform": "copy"
            } ]
          } ],
          "source": [ {
            "context": "s",
            "element": "coding",
            "variable": "sc"
          } ],
          "target": [ {
            "parameter": [ {
              "valueId": "tgt"
            } ],
            "transform": "copy"
          } ]
        } ],
        "source": [ {
          "context": "src",
          "element": "code",
          "variable": "s"
        } ],
        "target": [ {
          "parameter": [ {
            "valueId": "tgt"
          } ],
          "transform": "copy"
        } ],
        "documentation": "src.id as id -> tgt.observation_id = cast(id, \"integer\");"
      }, {
        "name": "effectiveDateTime",
        "source": [ {
          "type": "dateTime",
          "context": "src",
          "element": "effective",
          "variable": "a"
        } ],
        "target": [ {
          "context": "tgt",
          "element": "observation_datetime",
          "parameter": [ {
            "valueId": "a"
          } ],
          "transform": "copy"
        }, {
          "context": "tgt",
          "element": "observation_date",
          "parameter": [ {
            "valueId": "a"
          }, {
            "valueString": "date"
          } ],
          "transform": "cast"
        } ],
        "documentation": "src.subject as s -> tgt then {"
      }, {
        "name": "effectiveInstant",
        "source": [ {
          "type": "instant",
          "context": "src",
          "element": "effective",
          "variable": "einst"
        } ],
        "target": [ {
          "context": "tgt",
          "element": "observation_datetime",
          "parameter": [ {
            "valueId": "einst"
          }, {
            "valueString": "dateTime"
          } ],
          "transform": "cast"
        }, {
          "context": "tgt",
          "element": "observation_date",
          "parameter": [ {
            "valueId": "einst"
          }, {
            "valueString": "date"
          } ],
          "transform": "cast"
        } ]
      }, {
        "name": "effectivePeriod",
        "rule": [ {
          "name": "start",
          "source": [ {
            "context": "s",
            "element": "start",
            "variable": "ss"
          } ],
          "target": [ {
            "context": "tgt",
            "element": "observation_datetime",
            "parameter": [ {
              "valueId": "ss"
            }, {
              "valueString": "dateTime"
            } ],
            "transform": "cast"
          }, {
            "context": "tgt",
            "element": "observation_date",
            "parameter": [ {
              "valueId": "ss"
            }, {
              "valueString": "date"
            } ],
            "transform": "cast"
          } ]
        } ],
        "source": [ {
          "type": "Period",
          "context": "src",
          "element": "effective",
          "variable": "s"
        } ],
        "target": [ {
          "parameter": [ {
            "valueId": "tgt"
          } ],
          "transform": "copy"
        } ]
      }, {
        "name": "issued",
        "source": [ {
          "context": "src",
          "element": "issued",
          "variable": "s",
          "condition": "(s.toDate != src.effectiveDate)"
        } ],
        "target": [ {
          "context": "tgt",
          "element": "observation_source_value",
          "parameter": [ {
            "valueId": "s"
          }, {
            "valueString": "string"
          } ],
          "transform": "cast"
        } ]
      }, {
        "name": "valueQuantity",
        "rule": [ {
          "name": "value",
          "source": [ {
            "context": "s",
            "element": "value",
            "variable": "a"
          } ],
          "target": [ {
            "context": "tgt",
            "element": "value_as_number",
            "parameter": [ {
              "valueId": "a"
            } ],
            "transform": "copy"
          } ]
        }, {
          "name": "unit",
          "source": [ {
            "context": "s",
            "element": "unit",
            "variable": "b"
          } ],
          "target": [ {
            "context": "tgt",
            "element": "unit_concept_id",
            "parameter": [ {
              "valueId": "b"
            } ],
            "transform": "copy"
          } ]
        } ],
        "source": [ {
          "type": "Quantity",
          "context": "src",
          "element": "value",
          "variable": "s"
        } ],
        "target": [ {
          "parameter": [ {
            "valueId": "tgt"
          } ],
          "transform": "copy"
        } ],
        "documentation": "src.performer as s -> tgt then {"
      }, {
        "name": "valueCodeableConcept",
        "rule": [ {
          "name": "coding",
          "rule": [ {
            "name": "code",
            "source": [ {
              "context": "sc",
              "element": "code",
              "variable": "a"
            } ],
            "target": [ {
              "context": "tgt",
              "element": "value_as_concept_id",
              "parameter": [ {
                "valueId": "a"
              } ],
              "transform": "copy"
            } ]
          } ],
          "source": [ {
            "context": "s",
            "element": "coding",
            "variable": "sc"
          } ],
          "target": [ {
            "parameter": [ {
              "valueId": "tgt"
            } ],
            "transform": "copy"
          } ]
        } ],
        "source": [ {
          "type": "CodeableConcept",
          "context": "src",
          "element": "value",
          "variable": "s"
        } ],
        "target": [ {
          "parameter": [ {
            "valueId": "tgt"
          } ],
          "transform": "copy"
        } ]
      }, {
        "name": "valueString",
        "source": [ {
          "type": "string",
          "context": "src",
          "element": "value",
          "variable": "b"
        } ],
        "target": [ {
          "context": "tgt",
          "element": "value_as_string",
          "parameter": [ {
            "valueId": "b"
          } ],
          "transform": "copy"
        } ]
      }, {
        "name": "note",
        "source": [ {
          "context": "src",
          "element": "note",
          "variable": "d"
        } ],
        "target": [ {
          "context": "tgt",
          "element": "observation_source_value",
          "parameter": [ {
            "valueId": "d"
          } ],
          "transform": "copy"
        } ]
      } ],
      "source": [ {
        "context": "src",
        "condition": "('social-history' | 'imaging' | 'survey' | 'exam' | 'therapy' | 'activity' | 'procedure').supersetOf(Observation.category.coding.code)"
      } ]
    } ],
    "input": [ {
      "mode": "source",
      "name": "src",
      "type": "Observation"
    }, {
      "mode": "target",
      "name": "tgt",
      "type": "ObsTable"
    } ]
  } ],
  "publisher": "HL7 International / Biomedical Research and Regulation",
  "jurisdiction": [ {
    "coding": [ {
      "code": "001",
      "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
      "display": "World"
    } ]
  } ],
  "name": "ObservationMap",
  "type": null,
  "experimental": null,
  "resourceType": "StructureMap",
  "title": "Mapping Observation resource to  Observation OMOP Domain",
  "package_version": "1.0.0-ballot",
  "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"
      } ]
    }
  } ],
  "structure": [ {
    "url": "http://hl7.org/fhir/StructureDefinition/Observation",
    "mode": "source",
    "alias": "Observation"
  }, {
    "url": "http://hl7.org/fhir/uv/omop/StructureDefinition/Observation",
    "mode": "target",
    "alias": "ObsTable"
  } ],
  "status": "draft",
  "id": "d1f90ec7-4035-4c31-8784-78020abb0cb0",
  "kind": null,
  "url": "http://hl7.org/fhir/uv/omop/StructureMap/ObservationMap",
  "version": "1.0.0-ballot",
  "contact": [ {
    "name": "HL7 International / Biomedical Research and Regulation",
    "telecom": [ {
      "value": "http://www.hl7.org/Special/committees/rcrim",
      "system": "url"
    } ]
  } ]
}