WHO Antenatal Care Guideline Implementation Guide
0.3.0 - CI Build International flag

WHO Antenatal Care Guideline Implementation Guide, published by World Health Organization (WHO). This guide is not an authorized publication; it is the continuous build for version 0.3.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-anc/ and changes regularly. See the Directory of published versions

Library: ANC.DT.25 Anaemia, iron and folic acid supplementation

Official URL: http://fhir.org/guides/who/anc-cds/Library/ANCDT25 Version: 0.3.0
Active as of 2024-09-10 Computable Name: ANCDT25
Other Identifiers: ANC.DT.25 (use: official, )

Testing for anaemia is recommended for all pregnant women. Regardless of test results, iron and folic acid supplementation is recommended. The amount of iron and folic acid supplementation will vary depending on anaemia diagnosis, population prevalence of anaemia, and whether the woman has side-effects due to iron and folic acid supplementation.

Id: ANCDT25
Url: ANC.DT.25 Anaemia, iron and folic acid supplementation
Version: 0.3.0
Identifier:

value: ANC.DT.25

Name: ANCDT25
Title: ANC.DT.25 Anaemia, iron and folic acid supplementation
Status: active
Experimental: false
Type:

system: http://terminology.hl7.org/CodeSystem/library-type

code: logic-library

Date: 2024-09-10 13:23:00+0000
Publisher: World Health Organization (WHO)
Description: Testing for anaemia is recommended for all pregnant women. Regardless of test results, iron and folic acid supplementation is recommended. The amount of iron and folic acid supplementation will vary depending on anaemia diagnosis, population prevalence of anaemia, and whether the woman has side-effects due to iron and folic acid supplementation.
Jurisdiction: 001
Related Artifacts:

Dependencies

Parameters:
NameTypeMinMaxIn/Out
encounterstring01In
PatientPatient01Out
Should Conduct REQUIRED anaemia counsellingboolean01Out
Should "Anaemia counselling conducted" IS OPTIONALboolean01Out
Should "Anaemia counselling conducted" IS OPTIONAL 2boolean01Out
Should "Anaemia counselling conducted" IS OPTIONAL 3boolean01Out
Data Requirements:
TypeProfileMSCode Filter
Patient http://hl7.org/fhir/StructureDefinition/Patient
Observation http://hl7.org/fhir/StructureDefinition/Observation ;;;;; code filter:
path: code
value set: http://fhir.org/guides/who/anc-cds/ValueSet/anc-b7-de1
Observation http://hl7.org/fhir/StructureDefinition/Observation ;;;; code filter:
path: code
value set: http://fhir.org/guides/who/anc-cds/ValueSet/anc-b6-de17
Observation http://hl7.org/fhir/StructureDefinition/Observation ;;;; code filter:
path: code
value set: http://fhir.org/guides/who/anc-cds/ValueSet/anc-b9-de186
Observation http://hl7.org/fhir/StructureDefinition/Observation ;;;; code filter:
path: code
value set: http://fhir.org/guides/who/anc-cds/ValueSet/anc-b8-de38
Content: text/cql
library ANCDT25

using FHIR version '4.0.1'

include FHIRHelpers version '4.0.1'

include ANCConfig called Config
include ANCConcepts called Cx
include ANCDataElements called PatientData
include ANCContactDataElements called ContactData

context Patient

/*
(((("Blood haemoglobin test result" < 110 g/L)
  AND ("Gestational age" ≤ 12 weeks))
  OR (("Blood haemoglobin test result" < 110 g/L)
  AND ("Gestational age" ≥ 28 weeks)))
  OR (("Blood haemoglobin test result" < 105 g/L)
  AND (13 weeks ≤ "Gestational age" ≤ 27 weeks)))
  OR (("Blood haemoglobin test conducted" = FALSE)
  AND ("Pallor present" = TRUE))
*/
define "Should Conduct REQUIRED anaemia counselling":
  (
    ContactData."Gestational age" <= 12 'weeks'
      and ContactData."Blood haemoglobin test result" < 110 'g/L'
  ) or
  (
    ContactData."Gestational age" >= 28 'weeks'
      and ContactData."Blood haemoglobin test result" < 110 'g/L'
  ) or
  (
    ContactData."Gestational age" in Interval[13 'weeks', 27 'weeks']
      and ContactData."Blood haemoglobin test result" < 105 'g/L'
  ) or
  (
    ContactData."Blood haemoglobin test result" is null
      and ContactData."Pallor present" is true
  )

/*
(((("Blood haemoglobin test result" ≥ 110 g/L)
  AND ("Gestational age" ≤ 12 weeks)
  AND ("Population prevalence of anaemia" ≥ 40%))
  OR (("Blood haemoglobin test result" ≥ 110 g/L)
  AND ("Gestational age" ≥ 28 weeks)
  AND ("Population prevalence of anaemia" ≥ 40%)))
  OR (("Blood haemoglobin test result" ≥ 105 g/L)
  AND (13 weeks ≤ "Gestational age" ≤ 27 weeks)
  AND ("Population prevalence of anaemia" ≥ 40%)))
  OR (("Blood haemoglobin test conducted" = FALSE)
  AND ("Pallor present" = FALSE)
  AND ("Population prevalence of anaemia" ≥ 40%))
*/
define "Should \"Anaemia counselling conducted\" IS OPTIONAL":
  (
    ContactData."Gestational age" <= 12 'weeks'
      and ContactData."Blood haemoglobin test result" >= 110 'g/L'
      and Config."Population prevalence of anaemia" >= 40 '%'
  ) or
  (
    ContactData."Gestational age" >= 28 'weeks'
      and ContactData."Blood haemoglobin test result" >= 110 'g/L'
      and Config."Population prevalence of anaemia" >= 40 '%'
  ) or
  (
    ContactData."Gestational age" in Interval[13 'weeks', 27 'weeks']
      and ContactData."Blood haemoglobin test result" >= 105 'g/L'
      and Config."Population prevalence of anaemia" >= 40 '%'
  ) or
  (
    ContactData."Blood haemoglobin test result" is null
      and ContactData."Pallor present" is false
      and Config."Population prevalence of anaemia" >= 40 '%'
  )

/*
(((("Blood haemoglobin test result" ≥ 110 g/L)
  AND ("Gestational age" ≤ 12 weeks)
  AND ("Population prevalence of anaemia" ≤ 20%)
  AND ("Has side-effects from iron and folic acid supplements" = TRUE))
  OR (("Blood haemoglobin test result" ≥ 110 g/L)
  AND ("Gestational age" ≥ 28 weeks)
  AND ("Population prevalence of anaemia" ≤ 20%)
  AND ("Has side-effects from iron and folic acid supplements" = TRUE)))
  OR (("Blood haemoglobin test result" ≥ 105 g/L)
  AND (13 weeks ≤ "Gestational age" ≤ 27 weeks)
  AND ("Population prevalence of anaemia" ≤ 20%)
  AND ("Has side-effects from iron and folic acid supplements" = TRUE)))
  OR (("Blood haemoglobin test conducted" = FALSE)
  AND ("Pallor present" = FALSE)
  AND ("Population prevalence of anaemia" ≤ 20%)
  AND ("Has side-effects from iron and folic acid supplements" = TRUE))
*/
define "Should \"Anaemia counselling conducted\" IS OPTIONAL 2":
  (
    ContactData."Gestational age" <= 12 'weeks'
      and ContactData."Blood haemoglobin test result" >= 110 'g/L'
      and Config."Population prevalence of anaemia" >= 20 '%'
      and ContactData."Medication follow-up" in Cx."Medication follow-up - Has side-effects from iron and folic acid supplements Choices"
  ) or
  (
    ContactData."Gestational age" >= 28 'weeks'
      and ContactData."Blood haemoglobin test result" >= 110 'g/L'
      and Config."Population prevalence of anaemia" >= 20 '%'
      and ContactData."Medication follow-up" in Cx."Medication follow-up - Has side-effects from iron and folic acid supplements Choices"
  ) or
  (
    ContactData."Gestational age" in Interval[13 'weeks', 27 'weeks']
      and ContactData."Blood haemoglobin test result" >= 105 'g/L'
      and Config."Population prevalence of anaemia" >= 20 '%'
      and ContactData."Medication follow-up" in Cx."Medication follow-up - Has side-effects from iron and folic acid supplements Choices"
  ) or
  (
    ContactData."Blood haemoglobin test result" is null
      and ContactData."Pallor present" is false
      and Config."Population prevalence of anaemia" >= 20 '%'
      and ContactData."Medication follow-up" in Cx."Medication follow-up - Has side-effects from iron and folic acid supplements Choices"
  )

/*
(((("Blood haemoglobin test result" ≥ 110 g/L)
  AND ("Gestational age" ≤ 12 weeks)
  AND ("Population prevalence of anaemia" ≤ 20%)
  AND ("Has side-effects from iron and folic acid supplements" = FALSE))
  OR (("Blood haemoglobin test result" ≥ 110 g/L)
  AND ("Gestational age" ≥ 28 weeks)
  AND ("Population prevalence of anaemia" ≤ 20%)
  AND ("Has side-effects from iron and folic acid supplements" = FALSE)))
  OR (("Blood haemoglobin test result" ≥ 105 g/L)
  AND (13 weeks ≤ "Gestational age" ≤ 27 weeks)
  AND ("Population prevalence of anaemia" ≤ 20%)
  AND ("Has side-effects from iron and folic acid supplements" = FALSE)))
  OR (("Blood haemoglobin test conducted" = FALSE)
  AND ("Pallor present" = FALSE)
  AND ("Population prevalence of anaemia" ≤ 20%)
  AND ("Has side-effects from iron and folic acid supplements" = FALSE))
*/
define "Should \"Anaemia counselling conducted\" IS OPTIONAL 3":
  (
    ContactData."Gestational age" <= 12 'weeks'
      and ContactData."Blood haemoglobin test result" >= 110 'g/L'
      and Config."Population prevalence of anaemia" >= 20 '%'
      and not (ContactData."Medication follow-up" in Cx."Medication follow-up - Has side-effects from iron and folic acid supplements Choices")
  ) or
  (
    ContactData."Gestational age" >= 28 'weeks'
      and ContactData."Blood haemoglobin test result" >= 110 'g/L'
      and Config."Population prevalence of anaemia" >= 20 '%'
      and not (ContactData."Medication follow-up" in Cx."Medication follow-up - Has side-effects from iron and folic acid supplements Choices")
  ) or
  (
    ContactData."Gestational age" in Interval[13 'weeks', 27 'weeks']
      and ContactData."Blood haemoglobin test result" >= 105 'g/L'
      and Config."Population prevalence of anaemia" >= 20 '%'
      and not (ContactData."Medication follow-up" in Cx."Medication follow-up - Has side-effects from iron and folic acid supplements Choices")
  ) or
  (
    ContactData."Blood haemoglobin test result" is null
      and ContactData."Pallor present" is false
      and Config."Population prevalence of anaemia" >= 20 '%'
      and not (ContactData."Medication follow-up" in Cx."Medication follow-up - Has side-effects from iron and folic acid supplements Choices")
  )
Content: application/elm+xml
Encoded data (129276 characters)
Content: application/elm+json
Encoded data (232760 characters)