profiles / StructureDefinition

OMOP-Convertible Device → device_exposure

FHIR Device (joined with DeviceUseStatement) that can be converted to OMOP `device_exposure`. The Device.type provides the device kind; DeviceUseStatement records the clinical event (patient, timing). Device.type is required and is the routing key — it must resolve to the OMOP Device domain.

Path Card Type Binding / Fixed Comment
Device.type 1..* MS omop-device-codes required
Device.patient 1..* Reference Required for device_exposure.person_id. May be resolved via DeviceUseStatement.subject when Device.patient is absent.
Raw JSON
{
  "resourceType": "StructureDefinition",
  "id": "omop-device-device-exposure",
  "url": "https://fhir2omop.health-samurai.io/StructureDefinition/omop-device-device-exposure",
  "version": "0.1.0",
  "name": "OmopDeviceDeviceExposure",
  "title": "OMOP-Convertible Device → device_exposure",
  "status": "draft",
  "experimental": true,
  "description": "FHIR Device (joined with DeviceUseStatement) that can be converted to OMOP `device_exposure`. The Device.type provides the device kind; DeviceUseStatement records the clinical event (patient, timing). Device.type is required and is the routing key — it must resolve to the OMOP Device domain.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Device",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Device",
  "derivation": "constraint",
  "extension": [
    {
      "url": "https://fhir2omop.health-samurai.io/StructureDefinition/omop-target-table",
      "valueString": "device_exposure"
    },
    {
      "url": "https://fhir2omop.health-samurai.io/StructureDefinition/omop-edge",
      "valueString": "Device__device_exposure"
    }
  ],
  "differential": {
    "element": [
      {
        "id": "Device.type",
        "path": "Device.type",
        "min": 1,
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir2omop.health-samurai.io/ValueSet/omop-device-codes",
          "description": "SNOMED device code. This binding is the routing key — if Device.type is not in this ValueSet, the resource is not a device_exposure."
        }
      },
      {
        "id": "Device.patient",
        "path": "Device.patient",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient"
            ]
          }
        ],
        "comment": "Required for device_exposure.person_id. May be resolved via DeviceUseStatement.subject when Device.patient is absent."
      }
    ]
  },
  "targetTable": "device_exposure",
  "edgeKey": "Device__device_exposure"
}