Common CQL Artifacts for FHIR (US-Based)
1.0.0 - Informative 1 United States of America flag

This page is part of the Common CQL Assets for FHIR (US-Based) (v1.0.0: Informative 1 - Informative) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Library: US Core Elements

Official URL: http://hl7.org/fhir/us/cql/Library/USCoreElements Version: 1.0.0
Standards status: Informative Maturity Level: 3 Computable Name: USCoreElements

A library of expressions, functions, and terminology declarations for use with FHIR in the US Realm.

Metadata
Title US Core Elements
Version 1.0.0
Jurisdiction United States of America
Topic FHIR
Topic CQL
Steward (Publisher) HL7 International / Clinical Decision Support
Description

A library of expressions, functions, and terminology declarations for use with FHIR in the US Realm.

Type logic-library from http://terminology.hl7.org/CodeSystem/library-type
Dependency Description: Library FHIRHelpers
Resource: http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1
Canonical URL: http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1
Dependency Description: Library FHIRCommon
Resource: http://hl7.org/fhir/uv/cql/Library/FHIRCommon|2.0.0
Canonical URL: http://hl7.org/fhir/uv/cql/Library/FHIRCommon|2.0.0
Dependency Description: Library UC
Resource: US Core Common
Canonical URL: http://hl7.org/fhir/us/cql/Library/USCoreCommon
Dependency Description: Code System LOINC
Resource: Logical Observation Identifiers, Names and Codes (LOINC)
Canonical URL: http://loinc.org
Dependency Description: Code System Identifier Type
Resource: identifierType
Canonical URL: http://terminology.hl7.org/CodeSystem/v2-0203
Dependency Description: Code System Verification Status
Resource: ConditionVerificationStatus
Canonical URL: http://terminology.hl7.org/CodeSystem/condition-ver-status
Dependency Description: Code System Condition Clinical
Resource: Condition Clinical Status Codes
Canonical URL: http://terminology.hl7.org/CodeSystem/condition-clinical
Dependency Description: Value Set Common allergy substances
Resource: Common substances for allergy and intolerance documentation including refutations
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1186.8
Data Requirement Type: AllergyIntolerance
Profile(s): US Core AllergyIntolerance Profile
Data Requirement Type: DiagnosticReport
Profile(s): US Core DiagnosticReport Profile for Laboratory Results Reporting
Data Requirement Type: DiagnosticReport
Profile(s): US Core DiagnosticReport Profile for Report and Note Exchange
Data Requirement Type: Encounter
Profile(s): US Core Encounter Profile
Data Requirement Type: Immunization
Profile(s): US Core Immunization Profile
Data Requirement Type: Device
Profile(s): US Core Implantable Device Profile
Data Requirement Type: Observation
Profile(s): US Core Laboratory Result Observation Profile
Data Requirement Type: MedicationRequest
Profile(s): US Core MedicationRequest Profile
Data Requirement Type: Medication
Profile(s): US Core Medication Profile
Data Requirement Type: Observation
Profile(s): US Core Pediatric BMI for Age Observation Profile
Data Requirement Type: Observation
Profile(s): US Core Pediatric Head Occipital Frontal Circumference Percentile Profile
Data Requirement Type: Observation
Profile(s): US Core Pediatric Weight for Height Observation Profile
Data Requirement Type: Procedure
Profile(s): US Core Procedure Profile
Data Requirement Type: Observation
Profile(s): US Core Pulse Oximetry Profile
Data Requirement Type: Observation
Profile(s): US Core Smoking Status Observation Profile
Data Requirement Type: Observation
Profile(s): US Core Vital Signs Profile
Data Requirement Type: Observation
Profile(s): US Core Respiratory Rate Profile
Data Requirement Type: Observation
Profile(s): US Core Heart Rate Profile
Data Requirement Type: Observation
Profile(s): US Core Body Temperature Profile
Data Requirement Type: Observation
Profile(s): US Core Body Height Profile
Data Requirement Type: Observation
Profile(s): US Core Head Circumference Profile
Data Requirement Type: Observation
Profile(s): US Core Body Weight Profile
Data Requirement Type: Observation
Profile(s): US Core BMI Profile
Data Requirement Type: Observation
Profile(s): US Core Blood Pressure Profile
Data Requirement Type: Observation
Profile(s): Observation
Code Filter(s):
Path: code
Code(s): LOINC 8277-6: Body surface area
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Data Requirement Type: ResearchSubject
Profile(s): ResearchSubject
Data Requirement Type: ResearchStudy
Profile(s): ResearchStudy
Data Requirement Type: Organization
Profile(s): US Core Organization Profile
Data Requirement Type: Condition
Profile(s): Condition
Data Requirement Type: Practitioner
Profile(s): US Core Practitioner Profile
Data Requirement Type: PractitionerRole
Profile(s): US Core PractitionerRole Profile
Parameters
Name Use Card. Type Documentation
Patient Out 0..1 Patient
All Allergies and Intolerances Out 0..* Resource
Active Confirmed Allergies and Intolerances Out 0..* AllergyIntolerance
Common Allergies and Intolerances Out 0..* Resource
Active Confirmed Common Allergies and Intolerances Out 0..* AllergyIntolerance
No Known Allergies (Not Asked) Out 0..* Resource
No Known Allergies (Confirmed) Out 0..* Resource
All Conditions Out 0..* Condition
All Problem List Items Out 0..* Condition
Active Confirmed Problem List Items Out 0..* Condition
All Encounter Diagnoses Out 0..* Condition
All Health Concerns Out 0..* Condition
All Diagnostic Reports for Laboratory Results Out 0..* Resource
All Diagnostic Report Notes Out 0..* Resource
All Encounters Out 0..* Resource
All Performed Encounters Out 0..* Resource
All Immunizations Out 0..* Resource
All Completed Immunizations Out 0..* Resource
All Implantable Devices Out 0..* Resource
All Laboratory Results Out 0..* Resource
Resulted Laboratory Results Out 0..* Resource
All Medication Requests Out 0..* Resource
Most Recent Medication Request Out 0..1 MedicationRequest
Active Medication Orders Out 0..* Resource
All Medications Out 0..* Resource
Pediatric BMI for Age Out 0..* Resource
Pediatric BMI for Age All Statuses Out 0..* Resource
Pediatric Head Circumference Percentile Out 0..* Resource
Pediatric Weight for Height Out 0..* Resource
Pediatric Weight for Height All Statuses Out 0..* Resource
All Procedures Out 0..* Resource
All Performed Procedures Out 0..* Resource
Pulse Oximetry Out 0..* Resource
Pulse Oximetry All Statuses Out 0..* Resource
Smoking Status Out 0..* Resource
Smoking Status All Statuses Out 0..* Resource
Most Recent Smoking Status Out 0..1 Resource
All Vital Signs Out 0..* Resource
All Vital Signs All Statuses Out 0..* Resource
All Respiratory Rate Measurements Out 0..* Resource
All Respiratory Rate Measurements All Statuses Out 0..* Resource
All Heart Rate Measurements Out 0..* Resource
All Heart Rate Measurements All Statuses Out 0..* Resource
All Body Temperature Measurements Out 0..* Resource
All Body Temperature Measurements All Statuses Out 0..* Resource
All Body Height Measurements Out 0..* Resource
All Body Height Measurements All Statuses Out 0..* Resource
All Head Circumference Measurements Out 0..* Resource
All Head Circumference Measurements All Statuses Out 0..* Resource
All Body Weight Measurements Out 0..* Resource
All Body Weight Measurements All Statuses Out 0..* Resource
All Body Mass Index Measurements Out 0..* Resource
All Body Mass Index Measurements All Statuses Out 0..* Resource
All Blood Pressure Measurements Out 0..* Resource
All Blood Pressure Measurements All Statuses Out 0..* Resource
Systolic Blood Pressure Out 0..1 Resource
Diastolic Blood Pressure Out 0..1 Resource
Most Recent BSA Out 0..1 Quantity
All ServiceRequests Out 0..* ServiceRequest
Research Subject Out 0..* ResearchSubject
All Clinical Trials Out 0..* ResearchStudy
Clinical Trial Organization Out 0..* Resource
Library Content
CQL Content
library USCoreElements

using FHIR version '4.0.1'
using USCore version '7.0.0'

include hl7.fhir.uv.cql.FHIRHelpers version '4.0.1'
include hl7.fhir.uv.cql.FHIRCommon version '2.0.0'
include USCoreCommon called UC

codesystem "LOINC": 'http://loinc.org'
codesystem "Identifier Type": 'http://terminology.hl7.org/CodeSystem/v2-0203'
codesystem "Verification Status": 'http://terminology.hl7.org/CodeSystem/condition-ver-status'
codesystem "Condition Clinical": 'http://terminology.hl7.org/CodeSystem/condition-clinical'

valueset "Common allergy substances": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1186.8'

code "No known allergy (situation)": '716186003' from FHIRCommon.SNOMEDCT
code "Member Number": 'MB' from "Identifier Type"
code "Subscriber Number": 'SN' from "Identifier Type"
code "Body surface area": '8277-6' from "LOINC" display 'Body surface area'
code "Confirmed": 'confirmed' from "Verification Status"
code "Active": 'active' from "Condition Clinical"

context Patient

// Patient Patterns

define fluent function ageInDaysAt(patient Patient, asOf DateTime):
  CalculateAgeInDaysAt(Patient.birthDate, date from asOf)

define fluent function ageInDays(patient Patient):
  CalculateAgeInDaysAt(Patient.birthDate, Today())

define fluent function ageInMonthsAt(patient Patient, asOf DateTime):
  CalculateAgeInMonthsAt(Patient.birthDate, date from asOf)

define fluent function ageInMonths(patient Patient):
  CalculateAgeInMonthsAt(Patient.birthDate, Today())

define fluent function ageInYearsAt(patient Patient, asOf DateTime):
  CalculateAgeInYearsAt(Patient.birthDate, date from asOf)

define fluent function ageInYears(patient Patient):
  CalculateAgeInYearsAt(Patient.birthDate, Today())

define fluent function name(patient Patient):
  Coalesce(patient.officialName().first(), patient.usualName().first(), patient.firstNonOfficialNonUsualName())

define fluent function usualName(patient Patient):
  patient.name name
    where name.use ~ 'usual'
      and name.period is not null implies name.period includes Today()
    sort by start of period desc

define fluent function officialName(patient Patient):
  patient.name name
    where name.use ~ 'official'
      and name.period is not null implies name.period includes Today()
    sort by start of period desc

define fluent function firstNonOfficialNonUsualName(patient Patient):
  First(
    patient.name name
      where not(name.use ~ 'official') and not(name.use ~ 'usual')
        and name.period is not null implies name.period includes Today()
      sort by start of period desc
  )

define fluent function memberID(coverage FHIR.Coverage):
  coverage.identifier.where(type ~ "Member Number").single().value

define fluent function policyNumber(coverage FHIR.Coverage):
  singleton from (
    coverage.identifier I
      where I.type ~ "Subscriber Number"
  ).value

define fluent function medicalRecordNumber(patient Patient):
  patient.identifier.where(type ~ UC.MedicalRecordNumber).single().value

define fluent function name(practitioner Practitioner):
  Coalesce(practitioner.officialName().first(), practitioner.usualName().first(), practitioner.firstNonOfficialNonUsualName())

define fluent function usualName(practitioner Practitioner):
  practitioner.name name
    where name.use ~ 'usual'
      and name.period is not null implies name.period includes Today()
    sort by start of period desc

define fluent function officialName(practitioner Practitioner):
  practitioner.name name
    where name.use ~ 'official'
      and name.period is not null implies name.period includes Today()
    sort by start of period desc

define fluent function firstNonOfficialNonUsualName(practitioner Practitioner):
  First(
    practitioner.name name
      where not(name.use ~ 'official') and not(name.use ~ 'usual')
        and name.period is not null implies name.period includes Today()
      sort by start of period desc
  )

define fluent function mobile(patient Patient):
  First(
    patient.telecom telecom
      where telecom.use = 'mobile'
        and telecom.period is not null implies telecom.period includes Today()
      sort by start of period desc
  )

define fluent function mobile(practitioner Practitioner):
  First(
    practitioner.telecom telecom
      where telecom.use = 'mobile'
        and telecom.period is not null implies telecom.period includes Today()
      sort by start of period desc
  )

define fluent function work(organization Organization):
  First(
    organization.telecom telecom
      where telecom.use = 'work'
        and telecom.period is not null implies telecom.period includes Today()
      sort by start of period desc
  )

define fluent function name(practitioner Practitioner):
  Coalesce(practitioner.officialName().first(), practitioner.usualName().first(), practitioner.firstNonOfficialNonUsualName())

define fluent function firstName(name HumanName):
  name.given.first()

define fluent function middleNames(name HumanName):
  Combine(Skip(name.given, 1), ' ')

define fluent function lastName(name HumanName):
  name.family

define fluent function firstMiddleLast(name HumanName):
  Combine(name.given, ' ') + ' ' + name.family

define fluent function lastFirstMiddle(name HumanName):
  name.family + ', ' + Combine(name.given, ' ')

// Allergy/Intolerance

/*
@description: Returns all allergies and intolerances
@comment: This definition returns all allergies and intolerances conforming to the US Core 7.0.0
[AllergyIntolerance](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-allergyintolerance.html) profile.
Allergies and intolerances returned by this definition include records with any clinical status (including none)
and any verification status (including none).
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance
*/
define "All Allergies and Intolerances":
  [USCore."AllergyIntolerance"]

define "Active Confirmed Allergies and Intolerances":
  "All Allergies and Intolerances".active().confirmed()

define "Common Allergies and Intolerances":
  "All Allergies and Intolerances" A
    where A.code in "Common allergy substances"

define "Active Confirmed Common Allergies and Intolerances":
  "Common Allergies and Intolerances".active().confirmed()

// No Known Allergies (Not Asked)
define "No Known Allergies (Not Asked)":
  "All Allergies and Intolerances" A
    where A.code ~ "No known allergy (situation)"
      and A.isActive()
      and A.isUnconfirmed()

// No Known Allergies (Confirmed)
define "No Known Allergies (Confirmed)":
  "All Allergies and Intolerances" A
    where A.code ~ "No known allergy (situation)"
      and A.isActive()
      and A.isConfirmed()

// Condition

/*
@description: Returns all problem list items, encounter diagnoses, and health concerns
@comment: This definition returns all conditions of any category.
[Condition Encounter Diagnosis](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-condition-encounter-diagnosis.html)
[Condition Problems and Health Concerns](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-condition-problems-health-concerns.html)
Conditions returned by this definition include records with any clinical status (including none) and
any verification status (including none).
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition
*/
define "All Conditions":
  [FHIR."Condition"]

define "All Problem List Items":
  "All Conditions" C
    where C.isProblemListItem()

define "Active Confirmed Problem List Items":
  "All Problem List Items".active().confirmed()

define "All Encounter Diagnoses":
  "All Conditions" C
    where C.isEncounterDiagnosis()

define "All Health Concerns":
  "All Conditions" C
    where C.isHealthConcern()

// Laboratory Diagnostic Report

/*
@comment: [Diagnostic Report for Laboratory Results](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-diagnosticreport-lab.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab
*/
define "All Diagnostic Reports for Laboratory Results":
  ["DiagnosticReportProfileLaboratoryReporting"]

// Diagnostic Report

/*
@comment: [Diagnostic Report Note](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-diagnosticreport-note.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-note
*/
define "All Diagnostic Report Notes":
  ["DiagnosticReportProfileNoteExchange"]

// Encounter

/*
@comment: [Encounter](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-encounter.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter 
*/
define "All Encounters":
  ["EncounterProfile"]

define "All Performed Encounters":
  "All Encounters" E
    where E.status = 'finished'  

// Immunization

/*
@comment: [Immunization](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-immunization.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-immunization
*/
define "All Immunizations":
  ["ImmunizationProfile"] 

define "All Completed Immunizations":
  "All Immunizations" I
    where I.status = 'completed'

// Implantable Device

/*
@comment: [Implantable Device](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-implantable-device.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-implantable-device
*/
define "All Implantable Devices":
  ["ImplantableDeviceProfile"]

// Laboratory Result

/*
@description: Returns all laboratory results
@comment: [Laboratory Result](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-observation-lab.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab
*/
define "All Laboratory Results":
  ["LaboratoryResultObservationProfile"]

define "Resulted Laboratory Results":
  "All Laboratory Results" L
    where L.status in { 'preliminary', 'final', 'amended', 'corrected' }

// Medication Request

/*
@description: Returns all medication requests
@comment: [Medication Request](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-medicationrequest.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest
*/
define "Most Recent Medication Request":
  "All Medication Requests".mostRecent()

define "All Medication Requests":
  ["MedicationRequestProfile"]

define "Active Medication Orders":
  "All Medication Requests" M
    where M.status = 'active'
      and M.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }

define "All Medications":
  ["MedicationProfile"]

// Pediatric BMI for Age

/*
@comment: [Pediatric BMI for Age](https://hl7.org/fhir/us/core/STU7/StructureDefinition-pediatric-bmi-for-age.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/pediatric-bmi-for-age
*/
define "Pediatric BMI for Age":
  ((["PediatricBMIforAgeObservationProfile"]).resulted()) O 
    return O as "PediatricBMIforAgeObservationProfile"

define "Pediatric BMI for Age All Statuses":
  ["PediatricBMIforAgeObservationProfile"]

// Pediatric Head Circumference Percentile

/*
@comment: [Pediatric Head Circumference Percentile](https://hl7.org/fhir/us/core/STU7/StructureDefinition-head-occipital-frontal-circumference-percentile.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/head-occipital-frontal-circumference-percentile
*/
define "Pediatric Head Circumference Percentile":
  ((["PediatricHeadOccipitalFrontalCircumferencePercentileProfile"]).resulted()) O
    return O as "PediatricHeadOccipitalFrontalCircumferencePercentileProfile"

// Pediatric Weight for Height

/*
@comment: [Pediatric Weight for Height](https://hl7.org/fhir/us/core/STU7/StructureDefinition-pediatric-weight-for-height.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/pediatric-weight-for-height
*/
define "Pediatric Weight for Height":
  ((["PediatricWeightForHeightObservationProfile"]).resulted()) O 
    return O as "PediatricWeightForHeightObservationProfile"

define "Pediatric Weight for Height All Statuses":
  ["PediatricWeightForHeightObservationProfile"]

// Procedure

/*
@comment: [Procedure](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-procedure.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure
*/
define "All Procedures":
  ["ProcedureProfile"] P
    where P.status in { 'preparation', 'in-progress', 'on-hold', 'completed' }

define "All Performed Procedures":
  "All Procedures" P
    where P.status = 'completed'

// Pulse Oximetry

/*
@comment: [Pulse Oximetry](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-pulse-oximetry.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-pulse-oximetry
*/
define "Pulse Oximetry":
  ((["PulseOximetryProfile"]).resulted()) O 
    return O as "PulseOximetryProfile"

define "Pulse Oximetry All Statuses":
  ["PulseOximetryProfile"]

// Smoking Status

/*
@description: Returns all smoking status observations
@comment: This definition returns all smoking status observations conforming to the US Core 3.1.1
[Smoking Status](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-smokingstatus.html)
profile.
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-smokingstatus
*/
define "Smoking Status":
  ((["SmokingStatusProfile"]).resulted()) O 
    return O as "SmokingStatusProfile"

define "Smoking Status All Statuses":
  ["SmokingStatusProfile"]

/*
@description: Returns the most recent smoking status
@comment: This definition returns the most recent (by issued time) smoking status observation conforming to the
US Core [Smoking Status](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-smokingstatus.html)
profile.
*/
define "Most Recent Smoking Status":
  Last(
    "Smoking Status" SS
        where SS.status = 'final'
        sort by issued
  )

// Vital Signs

/*
@comment: [Vital Signs Panel](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-vital-signs.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-vital-signs
*/
define "All Vital Signs":
  ((["Vital Signs Profile"]).resulted()) O 
    return O as "Vital Signs Profile"

define "All Vital Signs All Statuses":
  ["Vital Signs Profile"]

// Respiratory Rate

/*
@comment: [Respiratory Rate](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-respiratory-rate.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-respiratory-rate
*/
define "All Respiratory Rate Measurements":
  ((["Respiratory Rate Profile"]).resulted()) O 
    return O as "Respiratory Rate Profile"

define "All Respiratory Rate Measurements All Statuses":
  ["Respiratory Rate Profile"]

// Heart Rate

/*
@comment: [Heart Rate](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-heart-rate.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-heart-rate
*/
define "All Heart Rate Measurements":
  ((["Heart Rate Profile"]).resulted()) O 
    return O as "Heart Rate Profile"

define "All Heart Rate Measurements All Statuses":
  ["Heart Rate Profile"]

// Body Temperature

/*
@comment: [Body Temperature](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-body-temperature.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-body-temperature
*/
define "All Body Temperature Measurements":
  ((["Body Temperature Profile"]).resulted()) O 
    return O as "Body Temperature Profile"

define "All Body Temperature Measurements All Statuses":
  ["Body Temperature Profile"]

// Body Height

/*
@comment: [Body Height](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-body-height.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-body-height
*/
define "All Body Height Measurements":
   ((["Body Height Profile"]).resulted()) O
     return O as "Body Height Profile"

define "All Body Height Measurements All Statuses":
  ["Body Height Profile"] 

// Head Circumference

/*
@comment: [Head Circumference](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-head-circumference.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-head-circumference
*/
define "All Head Circumference Measurements":
  ((["Head Circumference Profile"]).resulted()) O 
    return O as "Head Circumference Profile"

define "All Head Circumference Measurements All Statuses":
  ["Head Circumference Profile"]

// Body Weight

/*
@comment: [Body Weight](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-body-weight.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-body-weight
*/
define "All Body Weight Measurements":
  ((["Body Weight Profile"]).resulted()) O 
    return O as "Body Weight Profile"

define "All Body Weight Measurements All Statuses":
  ["Body Weight Profile"]

// Body Mass Index

/*
@comment: [Body Mass Index](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-bmi.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-bmi
*/
define "All Body Mass Index Measurements":
  ((["BMI Profile"]).resulted()) O 
    return O as "BMI Profile"

define "All Body Mass Index Measurements All Statuses":
  ["BMI Profile"]

// Blood Pressure

/*
@comment: [Blood Pressure](https://hl7.org/fhir/us/core/STU7/StructureDefinition-us-core-blood-pressure.html)
@profile: http://hl7.org/fhir/us/core/StructureDefinition/us-core-blood-pressure
*/
define "All Blood Pressure Measurements":
  ((["Blood Pressure Profile"]).resulted()) O 
    return O as "Blood Pressure Profile"

define "All Blood Pressure Measurements All Statuses":
  ["Blood Pressure Profile"]

// Systolic Blood Pressure
define "Systolic Blood Pressure":
  "All Blood Pressure Measurements".mostRecent().systolic().value
  
// Diastolic Blood Pressure
define "Diastolic Blood Pressure":
  "All Blood Pressure Measurements".mostRecent().diastolic().value

define "Most Recent BSA":
  convert (([FHIR.Observation: "Body surface area"]).resulted().mostRecent() as FHIR.Observation).value to 'm2'

define function CalculateBSA(alg System.String, height System.Quantity, weight System.Quantity):
  System.Quantity { value: 
    // Mosteller formula using lbs and inches
    if (alg = 'Mosteller') then
      ((((convert(height) to '[in_i]') * (convert(weight) to '[lb_av]'))/3131).value)^0.5
    
    // DuBois and DuBois formula using cm and kg
    // NOTE: never to be used for newborn calculation
    else if (alg = 'DuBois and DuBois') then
      0.007184 * ((convert(height) to 'cm').value^0.725) * ((convert(weight) to 'kg').value^0.425)
    
    // No matching algorithm found
    else null,
    unit: 'm2'
  }

define "All ServiceRequests":
  [FHIR.ServiceRequest]

define function MostRecentSR(serviceRequests List<"FHIR.ServiceRequest">):
  Last(
    serviceRequests SR
      // sort by authoredOn
  )

define fluent function mostRecentSR(serviceRequests List<"FHIR.ServiceRequest">):
  Last(
    serviceRequests SR
      // sort by authoredOn
  )

define function RequestingProvider(serviceRequest FHIR.ServiceRequest):
  [PractitionerProfile] P
    where EndsWith(serviceRequest.requester.reference.value, P.id)

define function ServicingProvider(serviceRequest FHIR.ServiceRequest):
  [PractitionerProfile] P
    where EndsWith(First(serviceRequest.performer.reference.value), P.id)

define function BillingProvider(coverage FHIR.Coverage):
  singleton from([OrganizationProfile] O
    where EndsWith(First(coverage.payor.reference.value), O.id))

define function RelatedCondition(serviceRequest FHIR.ServiceRequest):
  [FHIR.Condition] C
    where EndsWith(First(serviceRequest.reasonReference.reference.value), C.id)

define "Research Subject":
  [FHIR.ResearchSubject] R
    where  EndsWith(R.individual.reference, Patient.id)

define "All Clinical Trials":
  [FHIR.ResearchStudy] 

define "Clinical Trial Organization":
  [OrganizationProfile] O
  
define function "GetServiceRequestReasonCondition"(serviceRequest ServiceRequest):
  [FHIR.Condition] C
    where EndsWith(First(serviceRequest.insurance.reference), C.id)
  return C

define function Requester(medicationRequest MedicationRequestProfile):
  singleton from (
    [USCore.PractitionerProfile] P
      where EndsWith(medicationRequest.requester.reference, P.id)
  )

define function RequesterRole(medicationRequest MedicationRequestProfile):
  singleton from (
    [USCore.PractitionerRoleProfile] R
      where EndsWith(R.practitioner.reference, Requester(medicationRequest).id)
  )

ELM XML Content
Encoded data 
ELM JSON Content
Encoded data 
Generated using version 0.5.3-cibuild of the sample-content-ig Liquid templates