Canonical Resource Management Infrastructure Implementation Guide
1.0.0 - STU1

Publication Build: This will be filled in by the publication tooling

## Library: ANC Cohort

Official URL: http://hl7.org/fhir/uv/crmi/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.38.28.1

Cohort definition for antenatal care

## Related Artifacts

depends-on | FHIR model information | `http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1`
depends-on | Library FHIRHelpers | `http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1`
depends-on | Library FC | FHIR Common (Example)
depends-on | Code system ANCM Concept Codes | ANCM Concept Codes (Publishable Example)

## Parameters

Is pregnancy confirmed | out | 0 | 1 | boolean
Is Antenatal Care Applicable | out | 0 | 1 | boolean

## Data Requirements

Type: Observation (Observation)
Filter | Value
code | One of these codes: ANCM Concept Codes (Publishable Example) ANC.B4.DE1: Pregnancy confirmed

## Contents

`text/cql`

    library ANCCohort

    using FHIR version '4.0.1'

    include FHIRHelpers version '4.0.1'
    include FHIRCommon called FC

    codesystem "ANCM Concept Codes": 'http://fhir.org/guides/who/smart-anc-mini/CodeSystem/concept-codes'

    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 = 24Kb )

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