Using CQL with FHIR
1.0.0 - STU1 International flag

This page is part of the Using CQL with FHIR Implementation Guide (v1.0.0: STU1) 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: ANC Cohort (Experimental)

Official URL: http://hl7.org/fhir/uv/cql/Library/ANCCohort Version: 1.0.0
Active as of 2024-05-31 Computable Name: ANCCohort
Other Identifiers: OID:2.16.840.1.113883.4.642.40.37.28.1

Example cohort definition for anteantal care

Related Artifacts

depends-onFHIR model informationhttp://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1
depends-onLibrary FHIRHelpershttp://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
depends-onCode system ANCM Concept CodesCQL IG Example Code System

Parameters

Is pregnancy confirmedout01boolean
Is Antenatal Care Applicableout01boolean

Data Requirements

Type: Observation (Observation)
FilterValue
codeOne of these codes: CQL IG Example Code System ANC.B4.DE1: Pregnancy confirmed

Contents

text/cql

library ANCCohort

using FHIR version '4.0.1'

include FHIRHelpers version '4.0.1'

codesystem "ANCM Concept Codes": 'http://hl7.org/fhir/uv/cql/CodeSystem/example'

code "Pregnancy confirmed": 'ANC.B4.DE1' from "ANCM Concept Codes" display 'Pregnancy confirmed'

define "Is Antenatal Care Applicable":
  "Is pregnancy confirmed" is true


/* Copied from ANCMContactDataElements */
/*
  @dataElement: ANC.B4.DE1 Pregnancy confirmed
  @activity: ANC.B4 Confirm pregnancy
  @description: Pregnancy has been confirmed
*/
define "Is pregnancy confirmed":
  MostRecent(
    Final([Observation: "Pregnancy confirmed"])
  ).value as boolean

/* Copied from WHOCommon */
define function Final(observations List<Observation>):
  observations O
    where O.status in { 'final', 'amended', 'corrected' }
      and Coalesce(ModifierExtension(O, 'who-notDone').value, false) is false
      and O.value is not null

define function MostRecent(observations List<Observation>):
  Last(
    observations O
      sort by issued
  )

/*
@description: Returns any WHO core modifier extensions defined on the given resource with the specified id.
@comment: NOTE: Extensions are not the preferred approach, but are used as a way to access
content that is defined by extensions but not yet surfaced in the
CQL model info.
*/
define function ModifierExtensions(domainResource DomainResource, id String):
  domainResource.modifierExtension E
	  where E.url = ('http://fhir.org/guides/who/core/StructureDefinition/' + id)
		return E

/*
@description: Returns the single WHO core modifier extension (if present) on the given resource with the specified id.
@comment: This function uses singleton from to ensure that a run-time exception is thrown if there
is more than one extension on the given resource with the specified url.
*/
define function ModifierExtension(domainResource DomainResource, id String):
  singleton from ModifierExtensions(domainResource, id)

Content not shown - (application/elm+xml, size = 158Kb )

Content not shown - (application/elm+json, size = 115Kb )