SQL on FHIR
0.0.1-pre - ci-build International flag

SQL on FHIR, published by HL7. This guide is not an authorized publication; it is the continuous build for version 0.0.1-pre built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/FHIR/sql-on-fhir-v2/ and changes regularly. See the Directory of published versions

Artifacts Summary

This page provides a list of the FHIR artifacts defined as part of this implementation guide.

Structures: Logical Models

These define data models that represent the domain covered by this implementation guide in more business-friendly terms than the underlying FHIR resources.

Shareable View Definition

A profile for View Definitions intended to be shared between multiple systems. This requires there be a defined URL, name, and version. Also, each column must have specified type so consuming systems

Shareable View Definitions often also use the TabularViewDefinition profile, requiring that the view be shareable and contain only tabular values, as is common in many databases and analytic tools.

Tabular View Definition

A profile for View Definitions where each resulting field must contain only a simple scalar value. This is sometimes referred to as ‘CSV Mode’, but applies to any system that explicitly constrains its views or tables to tabluar data.

View Definition

View definitions represent a tabular projection of a FHIR resource, where the columns and inclusion criteria are defined by FHIRPath expressions.

Example: Example Instances

These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.

PatientAddresses

An example of unnesting patient addresses into multiple rows.

This view uses forEach to indicate we are unrolling these into separate rows. The join function is used to create a single address line.

PatientAndContactAddressUnion

An example of unnesting patient addresses and contact addresss into multiple rows, which are unioned together into a single table.

PatientDemographics

A minimal example of a patient demographics view. This view uses the first ‘official’ patient name for our demographics table.

ShareablePatientDemographics

Creates the same view as the ‘PatientDemographics’ example, but applies both the ShareableViewDefinition and TabularViewDefinition profiles.

UsCoreBloodPressures

A simple view of blood pressure observations, with separate columns for systolic and diastolic values.