FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packageorg.sql-on-fhir.ig
Resource TypeLibrary
IdLibrary-SqlOnFhirExample.json
FHIR VersionR5

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: Library SqlOnFhirExample

Participants

AuthorClinical Informatics Team

Related Artifacts

Depends Onpatient_viewhttps://example.org/ViewDefinition/patient_view
Depends Onblood_pressure_viewhttps://example.org/ViewDefinition/blood_pressure_view

Parameters

patient_idinstringPatient identifier
from_dateindateStart date for observations
to_dateindateEnd date for observations

Contents

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

Source1

{
  "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"
    }
  ]
}