FHIR IG analytics| Package | org.sql-on-fhir.ig |
| Resource Type | Library |
| Id | Library-SqlOnFhirExample.json |
| FHIR Version | R5 |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative: Library SqlOnFhirExample
Profile: SQL Query Library
| Author | Clinical Informatics Team |
| Depends On | patient_view | https://example.org/ViewDefinition/patient_view |
| Depends On | blood_pressure_view | https://example.org/ViewDefinition/blood_pressure_view |
| patient_id | in | string | Patient identifier | ||
| from_date | in | date | Start date for observations | ||
| to_date | in | date | End date for observations |
application/sql
/*
@name: SqlOnFhirExample
@title: Blood Pressure Trend Report
@description: Return blood pressure observations for a patient in a date range
@version: 1.0.0
@status: active
@author: Clinical Informatics Team
@publisher: Regional Medical Center
*/
-- @relatedDependency: https://example.org/ViewDefinition/patient_view as patient_view
-- @relatedDependency: https://example.org/ViewDefinition/blood_pressure_view as blood_pressure_view
-- @param: patient_id string Patient identifier
-- @param: from_date date Start date (inclusive)
-- @param: to_date date End date (inclusive)
SELECT
patient_view.id AS patient_id,
patient_view.name,
blood_pressure_view.systolic,
blood_pressure_view.diastolic,
blood_pressure_view.effective_date
FROM patient_view
JOIN blood_pressure_view
ON patient_view.id = blood_pressure_view.patient_id
WHERE patient_view.id = :patient_id
AND blood_pressure_view.effective_date >= :from_date
AND blood_pressure_view.effective_date <= :to_date
ORDER BY blood_pressure_view.effective_date{
"resourceType": "Library",
"id": "SqlOnFhirExample",
"meta": {
"profile": [
"https://sql-on-fhir.org/ig/StructureDefinition/SQLQuery"
]
},
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "https://sql-on-fhir.org/ig/Library/SqlOnFhirExample",
"version": "2.1.0-pre",
"name": "SqlOnFhirExample",
"title": "Blood Pressure Trend Report",
"status": "active",
"type": {
"coding": [
{
"system": "https://sql-on-fhir.org/ig/CodeSystem/LibraryTypesCodes",
"code": "sql-query"
}
]
},
"date": "2026-03-31T14:17:59+00:00",
"publisher": "SQL on FHIR Working Group",
"contact": [
{
"name": "SQL on FHIR Working Group",
"telecom": [
{
"system": "url",
"value": "https://sql-on-fhir.org"
}
]
}
],
"description": "Demonstrates SQL annotations that tooling can use to generate Library metadata.\n\n```sql\n/*\n@name: SqlOnFhirExample\n@title: Blood Pressure Trend Report\n@description: Return blood pressure observations for a patient in a date range\n@version: 1.0.0\n@status: active\n@author: Clinical Informatics Team\n@publisher: Regional Medical Center\n*/\n\n-- @relatedDependency: https://example.org/ViewDefinition/patient_view as patient_view\n-- @relatedDependency: https://example.org/ViewDefinition/blood_pressure_view as blood_pressure_view\n-- @param: patient_id string Patient identifier\n-- @param: from_date date Start date (inclusive)\n-- @param: to_date date End date (inclusive)\nSELECT\n patient_view.id AS patient_id,\n patient_view.name,\n blood_pressure_view.systolic,\n blood_pressure_view.diastolic,\n blood_pressure_view.effective_date\nFROM patient_view\nJOIN blood_pressure_view\n ON patient_view.id = blood_pressure_view.patient_id\nWHERE patient_view.id = :patient_id\n AND blood_pressure_view.effective_date >= :from_date\n AND blood_pressure_view.effective_date <= :to_date\nORDER BY blood_pressure_view.effective_date\n```",
"jurisdiction": [
{
"coding": [
{
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code": "001",
"display": "World"
}
]
}
],
"author": [
{
"name": "Clinical Informatics Team"
}
],
"relatedArtifact": [
{
"type": "depends-on",
"label": "patient_view",
"resource": "https://example.org/ViewDefinition/patient_view"
},
{
"type": "depends-on",
"label": "blood_pressure_view",
"resource": "https://example.org/ViewDefinition/blood_pressure_view"
}
],
"parameter": [
{
"name": "patient_id",
"use": "in",
"documentation": "Patient identifier",
"type": "string"
},
{
"name": "from_date",
"use": "in",
"documentation": "Start date for observations",
"type": "date"
},
{
"name": "to_date",
"use": "in",
"documentation": "End date for observations",
"type": "date"
}
],
"content": [
{
"extension": [
{
"url": "https://sql-on-fhir.org/ig/StructureDefinition/sql-text",
"valueString": "/*\n@name: SqlOnFhirExample\n@title: Blood Pressure Trend Report\n@description: Return blood pressure observations for a patient in a date range\n@version: 1.0.0\n@status: active\n@author: Clinical Informatics Team\n@publisher: Regional Medical Center\n*/\n\n-- @relatedDependency: https://example.org/ViewDefinition/patient_view as patient_view\n-- @relatedDependency: https://example.org/ViewDefinition/blood_pressure_view as blood_pressure_view\n-- @param: patient_id string Patient identifier\n-- @param: from_date date Start date (inclusive)\n-- @param: to_date date End date (inclusive)\nSELECT\n patient_view.id AS patient_id,\n patient_view.name,\n blood_pressure_view.systolic,\n blood_pressure_view.diastolic,\n blood_pressure_view.effective_date\nFROM patient_view\nJOIN blood_pressure_view\n ON patient_view.id = blood_pressure_view.patient_id\nWHERE patient_view.id = :patient_id\n AND blood_pressure_view.effective_date >= :from_date\n AND blood_pressure_view.effective_date <= :to_date\nORDER BY blood_pressure_view.effective_date"
}
],
"contentType": "application/sql",
"data": "LyoKQG5hbWU6IFNxbE9uRmhpckV4YW1wbGUKQHRpdGxlOiBCbG9vZCBQcmVzc3VyZSBUcmVuZCBSZXBvcnQKQGRlc2NyaXB0aW9uOiBSZXR1cm4gYmxvb2QgcHJlc3N1cmUgb2JzZXJ2YXRpb25zIGZvciBhIHBhdGllbnQgaW4gYSBkYXRlIHJhbmdlCkB2ZXJzaW9uOiAxLjAuMApAc3RhdHVzOiBhY3RpdmUKQGF1dGhvcjogQ2xpbmljYWwgSW5mb3JtYXRpY3MgVGVhbQpAcHVibGlzaGVyOiBSZWdpb25hbCBNZWRpY2FsIENlbnRlcgoqLwoKLS0gQHJlbGF0ZWREZXBlbmRlbmN5OiBodHRwczovL2V4YW1wbGUub3JnL1ZpZXdEZWZpbml0aW9uL3BhdGllbnRfdmlldyBhcyBwYXRpZW50X3ZpZXcKLS0gQHJlbGF0ZWREZXBlbmRlbmN5OiBodHRwczovL2V4YW1wbGUub3JnL1ZpZXdEZWZpbml0aW9uL2Jsb29kX3ByZXNzdXJlX3ZpZXcgYXMgYmxvb2RfcHJlc3N1cmVfdmlldwotLSBAcGFyYW06IHBhdGllbnRfaWQgc3RyaW5nIFBhdGllbnQgaWRlbnRpZmllcgotLSBAcGFyYW06IGZyb21fZGF0ZSBkYXRlIFN0YXJ0IGRhdGUgKGluY2x1c2l2ZSkKLS0gQHBhcmFtOiB0b19kYXRlIGRhdGUgRW5kIGRhdGUgKGluY2x1c2l2ZSkKU0VMRUNUCiAgcGF0aWVudF92aWV3LmlkIEFTIHBhdGllbnRfaWQsCiAgcGF0aWVudF92aWV3Lm5hbWUsCiAgYmxvb2RfcHJlc3N1cmVfdmlldy5zeXN0b2xpYywKICBibG9vZF9wcmVzc3VyZV92aWV3LmRpYXN0b2xpYywKICBibG9vZF9wcmVzc3VyZV92aWV3LmVmZmVjdGl2ZV9kYXRlCkZST00gcGF0aWVudF92aWV3CkpPSU4gYmxvb2RfcHJlc3N1cmVfdmlldwogIE9OIHBhdGllbnRfdmlldy5pZCA9IGJsb29kX3ByZXNzdXJlX3ZpZXcucGF0aWVudF9pZApXSEVSRSBwYXRpZW50X3ZpZXcuaWQgPSA6cGF0aWVudF9pZAogIEFORCBibG9vZF9wcmVzc3VyZV92aWV3LmVmZmVjdGl2ZV9kYXRlID49IDpmcm9tX2RhdGUKICBBTkQgYmxvb2RfcHJlc3N1cmVfdmlldy5lZmZlY3RpdmVfZGF0ZSA8PSA6dG9fZGF0ZQpPUkRFUiBCWSBibG9vZF9wcmVzc3VyZV92aWV3LmVmZmVjdGl2ZV9kYXRl"
}
]
}