profiles / StructureDefinition
OMOP-Convertible Procedure → procedure_occurrence
FHIR Procedure that can be converted to OMOP `procedure_occurrence`. Status must be completed or in-progress; requires a subject, a performed[x] date, and a code that resolves to the OMOP Procedure domain.
Routing key — code binding
omop-procedure-codes
OMOP domain: Procedure
If Procedure.code resolves to a concept in this ValueSet, the resource converts to procedure_occurrence.
| Path | Card | Type | Binding / Fixed | Comment |
|---|---|---|---|---|
| Procedure.status | fhir/event-status required | Skip not-done, entered-in-error, stopped, preparation. | ||
| Procedure.code | 1..* MS | omop-procedure-codes required | ||
| Procedure.subject | 1..* | Reference | Required for procedure_occurrence.person_id. | |
| Procedure.performed[x] | 1..* MS | Required for procedure_occurrence.procedure_date. Accepts dateTime, Period, string, Age, Range. |
Raw JSON
{
"resourceType": "StructureDefinition",
"id": "omop-procedure-procedure-occurrence",
"url": "https://fhir2omop.health-samurai.io/StructureDefinition/omop-procedure-procedure-occurrence",
"version": "0.1.0",
"name": "OmopProcedureProcedureOccurrence",
"title": "OMOP-Convertible Procedure → procedure_occurrence",
"status": "draft",
"experimental": true,
"description": "FHIR Procedure that can be converted to OMOP `procedure_occurrence`. Status must be completed or in-progress; requires a subject, a performed[x] date, and a code that resolves to the OMOP Procedure domain.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Procedure",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Procedure",
"derivation": "constraint",
"extension": [
{
"url": "https://fhir2omop.health-samurai.io/StructureDefinition/omop-target-table",
"valueString": "procedure_occurrence"
},
{
"url": "https://fhir2omop.health-samurai.io/StructureDefinition/omop-edge",
"valueString": "Procedure__procedure_occurrence"
}
],
"differential": {
"element": [
{
"id": "Procedure.status",
"path": "Procedure.status",
"comment": "Skip not-done, entered-in-error, stopped, preparation.",
"binding": {
"strength": "required",
"valueSet": "http://hl7.org/fhir/ValueSet/event-status",
"description": "completed | in-progress"
}
},
{
"id": "Procedure.code",
"path": "Procedure.code",
"min": 1,
"mustSupport": true,
"binding": {
"strength": "required",
"valueSet": "https://fhir2omop.health-samurai.io/ValueSet/omop-procedure-codes",
"description": "SNOMED Procedure or a source code (CPT4 / ICD10PCS / ICD9Proc / HCPCS / OPS) that maps to OMOP Procedure via concept_relationship 'Maps to'. This binding is the routing key — if Procedure.code is not in this ValueSet, the resource is not a procedure_occurrence and should be tried against another profile (e.g. domain may resolve to Drug, Device, Measurement, Observation, or Condition)."
}
},
{
"id": "Procedure.subject",
"path": "Procedure.subject",
"min": 1,
"type": [
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/Patient"
]
}
],
"comment": "Required for procedure_occurrence.person_id."
},
{
"id": "Procedure.performed[x]",
"path": "Procedure.performed[x]",
"min": 1,
"mustSupport": true,
"comment": "Required for procedure_occurrence.procedure_date. Accepts dateTime, Period, string, Age, Range."
}
]
},
"targetTable": "procedure_occurrence",
"edgeKey": "Procedure__procedure_occurrence"
}