SQL on FHIR, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 2.1.0-pre built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/sql-on-fhir/ and changes regularly. See the Directory of published versions
| Page standards status: Informative |
{
"resourceType" : "Library",
"id" : "OmopFhirPatientJoin",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/SQLQuery"
]
},
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n <table class=\"grid dict\">\n \n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">OMOP/FHIR Patient Match with Diagnoses</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">OmopFhirPatientJoin</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">2.1.0-pre</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"Library-OmopFhirPatientJoin.html\">OMOP/FHIR Patient Match with Diagnoses</a></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n \n </b>\n </th>\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>urn:oid:2.16.840.1.113883.4.642.40.77.28.3</span>\n </p>\n \n </td>\n </tr>\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <b>system: </b> <span><a href=\"CodeSystem-LibraryTypesCodes.html\">http://hl7.org/fhir/uv/sql-on-fhir/CodeSystem/LibraryTypesCodes</a></span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>code: </b> <span>sql-query</span>\n </p>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Date: </b></th>\n <td style=\"padding-left: 4px;\">2026-07-28 04:38:44+0000</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">HL7 International / FHIR Infrastructure</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>Uses labels to disambiguate patient views from different sources and joins\npatient diagnoses for downstream analytics.</p>\n<pre><code class=\"language-sql\">SELECT\n omop_person.person_id AS omop_person_id,\n fhir_patient.id AS fhir_patient_id,\n fhir_patient.name,\n diagnoses_view.code AS diagnosis_code,\n diagnoses_view.display AS diagnosis_display\nFROM omop_person\nJOIN fhir_patient\n ON omop_person.person_id = fhir_patient.mrn\nJOIN diagnoses_view\n ON diagnoses_view.patient_id = fhir_patient.id\nWHERE omop_person.source_system = :source_system\n</code></pre>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Jurisdiction: </b></th>\n <td style=\"padding-left: 4px;\">001</td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Related Artifacts: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p><b>Dependencies</b></p>\n <ul>\n \n <li><code>https://example.org/omop/ViewDefinition/Patient</code></li>\n \n <li><code>https://example.org/fhir/ViewDefinition/Patient</code></li>\n \n <li><code>https://example.org/ViewDefinition/diagnoses_view</code></li>\n \n </ul>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Parameters: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n \n <tr><th>source_system</th><th>string</th><th/><th/><th>In</th></tr>\n \n </table>\n </td>\n </tr>\n \n\n \n\n \n \n \n <tr>\n <td colspan=\"2\">\n <table>\n <tr><th><b>Content: </b> application/sql</th></tr>\n <tr><td><pre><code>Encoded data (528 characters)</code></pre></td></tr>\n </table>\n </td>\n </tr>\n \n \n </table>\n</div>\n</div>"
},
"url" : "http://hl7.org/fhir/uv/sql-on-fhir/Library/OmopFhirPatientJoin",
"identifier" : [
{
"system" : "urn:ietf:rfc:3986",
"value" : "urn:oid:2.16.840.1.113883.4.642.40.77.28.3"
}
],
"version" : "2.1.0-pre",
"name" : "OmopFhirPatientJoin",
"title" : "OMOP/FHIR Patient Match with Diagnoses",
"status" : "active",
"type" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/uv/sql-on-fhir/CodeSystem/LibraryTypesCodes",
"code" : "sql-query"
}
]
},
"date" : "2026-07-28T04:38:44+00:00",
"publisher" : "HL7 International / FHIR Infrastructure",
"contact" : [
{
"name" : "HL7 International / FHIR Infrastructure",
"telecom" : [
{
"system" : "url",
"value" : "http://www.hl7.org/Special/committees/fiwg"
}
]
}
],
"description" : "Uses labels to disambiguate patient views from different sources and joins\npatient diagnoses for downstream analytics.\n\n```sql\nSELECT\n omop_person.person_id AS omop_person_id,\n fhir_patient.id AS fhir_patient_id,\n fhir_patient.name,\n diagnoses_view.code AS diagnosis_code,\n diagnoses_view.display AS diagnosis_display\nFROM omop_person\nJOIN fhir_patient\n ON omop_person.person_id = fhir_patient.mrn\nJOIN diagnoses_view\n ON diagnoses_view.patient_id = fhir_patient.id\nWHERE omop_person.source_system = :source_system\n```",
"jurisdiction" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001",
"display" : "World"
}
]
}
],
"relatedArtifact" : [
{
"type" : "depends-on",
"label" : "omop_person",
"display" : "OMOP Person view",
"resource" : "https://example.org/omop/ViewDefinition/Patient"
},
{
"type" : "depends-on",
"label" : "fhir_patient",
"display" : "FHIR Patient view",
"resource" : "https://example.org/fhir/ViewDefinition/Patient"
},
{
"type" : "depends-on",
"label" : "diagnoses_view",
"display" : "Diagnosis facts view",
"resource" : "https://example.org/ViewDefinition/diagnoses_view"
}
],
"parameter" : [
{
"name" : "source_system",
"use" : "in",
"documentation" : "Source system identifier for OMOP records",
"type" : "string"
}
],
"content" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/sql-on-fhir/StructureDefinition/sql-text",
"valueString" : "SELECT\n omop_person.person_id AS omop_person_id,\n fhir_patient.id AS fhir_patient_id,\n fhir_patient.name,\n diagnoses_view.code AS diagnosis_code,\n diagnoses_view.display AS diagnosis_display\nFROM omop_person\nJOIN fhir_patient\n ON omop_person.person_id = fhir_patient.mrn\nJOIN diagnoses_view\n ON diagnoses_view.patient_id = fhir_patient.id\nWHERE omop_person.source_system = :source_system"
}
],
"contentType" : "application/sql",
"data" : "U0VMRUNUCiAgb21vcF9wZXJzb24ucGVyc29uX2lkIEFTIG9tb3BfcGVyc29uX2lkLAogIGZoaXJfcGF0aWVudC5pZCBBUyBmaGlyX3BhdGllbnRfaWQsCiAgZmhpcl9wYXRpZW50Lm5hbWUsCiAgZGlhZ25vc2VzX3ZpZXcuY29kZSBBUyBkaWFnbm9zaXNfY29kZSwKICBkaWFnbm9zZXNfdmlldy5kaXNwbGF5IEFTIGRpYWdub3Npc19kaXNwbGF5CkZST00gb21vcF9wZXJzb24KSk9JTiBmaGlyX3BhdGllbnQKICBPTiBvbW9wX3BlcnNvbi5wZXJzb25faWQgPSBmaGlyX3BhdGllbnQubXJuCkpPSU4gZGlhZ25vc2VzX3ZpZXcKICBPTiBkaWFnbm9zZXNfdmlldy5wYXRpZW50X2lkID0gZmhpcl9wYXRpZW50LmlkCldIRVJFIG9tb3BfcGVyc29uLnNvdXJjZV9zeXN0ZW0gPSA6c291cmNlX3N5c3RlbQ=="
}
]
}