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

FHIR IG analytics

Packagecms.madie
Resource TypeLibrary
IdLibrary-StratificationEncounterExample.json
FHIR VersionR4

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

Metadata
Title Stratification Encounter Example
Version 2026.0.0
Topic FHIR
Topic CQL
Description

StratificationEncounterExample logic.

Type logic-library from http://terminology.hl7.org/CodeSystem/library-type
Library Content
CQL Content
library StratificationEncounterExample

using FHIR version '4.0.1'

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

include PatientCommon

parameter "Measurement Period" Interval<DateTime>
  default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)

context Patient

define "Well-Visit Encounter":
  [Encounter] E
    where E.status = 'finished'
      and E.period ends during day of "Measurement Period"

define "Blood Pressure Observation":
  [Observation] O
    where O.status in { 'final', 'amended', 'corrected' }
      and O.issued during day of "Measurement Period"

define "Initial Population":
  "Well-Visit Encounter"

define "Denominator":
  "Well-Visit Encounter"

define "Numerator":
  "Well-Visit Encounter" E
    with "Blood Pressure Observation" O
      such that O.issued during E.period

/* Criteria-based Stratification */

define "Stratifier P0Y--P21Y":
  "Well-Visit Encounter" E
    where Patient.ageInYearsAt(end of E.period) between 0 and 20

define "Stratifier P21Y--P41Y":
  "Well-Visit Encounter" E
    where Patient.ageInYearsAt(end of E.period) between 21 and 40

define "Stratifier P41Y--P9999Y":
  "Well-Visit Encounter" E
    where Patient.ageInYearsAt(end of E.period) >= 41

/* 
  Value-based Stratification 
  
  Note that for value-based stratification of a non-subject-based measure, 
  the expression may be a definition as "Gender Stratifier", or a function 
  as "Age Range Stratifier"(Encounter)
*/

define function "Gender Stratifier":
  Patient.gender

define function "Age Range Stratifier"(encounter Encounter):
  case
    when Patient.ageInYearsAt(start of encounter.period) between 0 and 20 then 'P0Y--P21Y'
    when Patient.ageInYearsAt(start of encounter.period) between 21 and 40 then 'P21Y--P41Y'
    when Patient.ageInYearsAt(start of encounter.period) >= 41 then 'P41Y--P9999Y'
    else null
  end
Generated using version 0.5.0 of the sample-content-ig Liquid templates

Source1

{
  "resourceType": "Library",
  "id": "StratificationEncounterExample",
  "text": {
    "status": "extensions",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 1
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "cds"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "informative"
    }
  ],
  "url": "https://madie.cms.gov/Library/StratificationEncounterExample",
  "version": "2026.0.0",
  "name": "StratificationEncounterExample",
  "title": "Stratification Encounter Example",
  "status": "active",
  "experimental": false,
  "type": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/library-type",
        "code": "logic-library"
      }
    ]
  },
  "date": "2026-04-06T15:48:46+00:00",
  "description": "StratificationEncounterExample logic.",
  "topic": [
    {
      "text": "FHIR"
    },
    {
      "text": "CQL"
    }
  ],
  "content": [
    {
      "contentType": "text/cql",
      "data": "bGlicmFyeSBTdHJhdGlmaWNhdGlvbkVuY291bnRlckV4YW1wbGUKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIGhsNy5maGlyLnV2LmNxbC5GSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScKaW5jbHVkZSBobDcuZmhpci51di5jcWwuRkhJUkNvbW1vbiB2ZXJzaW9uICcyLjAuMCcKCmluY2x1ZGUgUGF0aWVudENvbW1vbgoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMjYtMDEtMDFUMDA6MDA6MDAuMDAwWiwgQDIwMjctMDEtMDFUMDA6MDA6MDAuMDAwWikKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJXZWxsLVZpc2l0IEVuY291bnRlciI6CiAgW0VuY291bnRlcl0gRQogICAgd2hlcmUgRS5zdGF0dXMgPSAnZmluaXNoZWQnCiAgICAgIGFuZCBFLnBlcmlvZCBlbmRzIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiQmxvb2QgUHJlc3N1cmUgT2JzZXJ2YXRpb24iOgogIFtPYnNlcnZhdGlvbl0gTwogICAgd2hlcmUgTy5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnIH0KICAgICAgYW5kIE8uaXNzdWVkIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKICAiV2VsbC1WaXNpdCBFbmNvdW50ZXIiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICAiV2VsbC1WaXNpdCBFbmNvdW50ZXIiCgpkZWZpbmUgIk51bWVyYXRvciI6CiAgIldlbGwtVmlzaXQgRW5jb3VudGVyIiBFCiAgICB3aXRoICJCbG9vZCBQcmVzc3VyZSBPYnNlcnZhdGlvbiIgTwogICAgICBzdWNoIHRoYXQgTy5pc3N1ZWQgZHVyaW5nIEUucGVyaW9kCgovKiBDcml0ZXJpYS1iYXNlZCBTdHJhdGlmaWNhdGlvbiAqLwoKZGVmaW5lICJTdHJhdGlmaWVyIFAwWS0tUDIxWSI6CiAgIldlbGwtVmlzaXQgRW5jb3VudGVyIiBFCiAgICB3aGVyZSBQYXRpZW50LmFnZUluWWVhcnNBdChlbmQgb2YgRS5wZXJpb2QpIGJldHdlZW4gMCBhbmQgMjAKCmRlZmluZSAiU3RyYXRpZmllciBQMjFZLS1QNDFZIjoKICAiV2VsbC1WaXNpdCBFbmNvdW50ZXIiIEUKICAgIHdoZXJlIFBhdGllbnQuYWdlSW5ZZWFyc0F0KGVuZCBvZiBFLnBlcmlvZCkgYmV0d2VlbiAyMSBhbmQgNDAKCmRlZmluZSAiU3RyYXRpZmllciBQNDFZLS1QOTk5OVkiOgogICJXZWxsLVZpc2l0IEVuY291bnRlciIgRQogICAgd2hlcmUgUGF0aWVudC5hZ2VJblllYXJzQXQoZW5kIG9mIEUucGVyaW9kKSA+PSA0MQoKLyogCiAgVmFsdWUtYmFzZWQgU3RyYXRpZmljYXRpb24gCiAgCiAgTm90ZSB0aGF0IGZvciB2YWx1ZS1iYXNlZCBzdHJhdGlmaWNhdGlvbiBvZiBhIG5vbi1zdWJqZWN0LWJhc2VkIG1lYXN1cmUsIAogIHRoZSBleHByZXNzaW9uIG1heSBiZSBhIGRlZmluaXRpb24gYXMgIkdlbmRlciBTdHJhdGlmaWVyIiwgb3IgYSBmdW5jdGlvbiAKICBhcyAiQWdlIFJhbmdlIFN0cmF0aWZpZXIiKEVuY291bnRlcikKKi8KCmRlZmluZSBmdW5jdGlvbiAiR2VuZGVyIFN0cmF0aWZpZXIiOgogIFBhdGllbnQuZ2VuZGVyCgpkZWZpbmUgZnVuY3Rpb24gIkFnZSBSYW5nZSBTdHJhdGlmaWVyIihlbmNvdW50ZXIgRW5jb3VudGVyKToKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuYWdlSW5ZZWFyc0F0KHN0YXJ0IG9mIGVuY291bnRlci5wZXJpb2QpIGJldHdlZW4gMCBhbmQgMjAgdGhlbiAnUDBZLS1QMjFZJwogICAgd2hlbiBQYXRpZW50LmFnZUluWWVhcnNBdChzdGFydCBvZiBlbmNvdW50ZXIucGVyaW9kKSBiZXR3ZWVuIDIxIGFuZCA0MCB0aGVuICdQMjFZLS1QNDFZJwogICAgd2hlbiBQYXRpZW50LmFnZUluWWVhcnNBdChzdGFydCBvZiBlbmNvdW50ZXIucGVyaW9kKSA+PSA0MSB0aGVuICdQNDFZLS1QOTk5OVknCiAgICBlbHNlIG51bGwKICBlbmQK"
    }
  ]
}