SQL on FHIR
2.1.0-pre - release International flag

SQL on FHIR - Local Development build (v2.1.0-pre) built by the FHIR (HL7® FHIR® Standard) Build Tools. 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 that the View Definition have a defined URL and name. It also requires declaration of the FHIR version that the view is intended to be executed over, and the FHIR type of each column. This ensures consistent interpretation of the view across different view runner implementations.

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 tabular data.

View Definition

A ViewDefinition represents a tabular projection of a FHIR resource, where the columns and inclusion criteria are defined by FHIRPath expressions.

Structures: Resource Profiles

These define constraints on FHIR resources for systems conforming to this implementation guide.

SQL Query Library

A profile for FHIR Library used to represent a single logical SQL query, possibly with multiple SQL dialects.

Terminology: Value Sets

These define sets of codes used by systems conforming to this implementation guide.

All SQL Dialect Codes

ValueSet of all codes from SQL Dialect Codes codesystem

Terminology: Code Systems

These define new code systems used by systems conforming to this implementation guide.

Export Status Code System

Export status codes for SQL on FHIR.

SQL Dialects Code System

SQL dialects

SQL Library Types Code System

Library types for SQL on FHIR.

Example: Example Instances

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

ConditionFlat

A simple view for flattening a Condition resource. Some of the more commonly used fields are included in this flat view. A notable point is flattening of category.coding fields with one forEach construct as FHIRPath will take care of handling of nested arrays.

EncounterFlat

A simple view for flattening an Encounter resource. Some of the more commonly used fields are included in this flat view. Note this is valid for an R4 Encounter resource but not R5 (hence the fhirVersion).

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.

SQL on FHIR Example

SQL query library example demonstrating converting SQL to FHIR Library with basic annotations that can assist in generating the properties for this FHIR Library.

ShareablePatientDemographics

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

UniquePatientAddressesQuery

A SQL query that defines a query to retrieve unique patient addresses.

UsCoreBloodPressures

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