WHO Antenatal Care Guideline Implementation Guide
0.3.0 - CI Build
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
Active as of 2025-06-24 |
<PlanDefinition xmlns="http://hl7.org/fhir">
<id value="ANCDT27"/>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>
<table class="grid dict">
<tr>
<th scope="row"><b>Id: </b></th>
<td style="padding-left: 4px;">ANCDT27</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="PlanDefinition-ANCDT27.html">ANC.DT.27 Pre-eclampsia risk counselling</a></td>
</tr>
<tr>
<th scope="row"><b>Version: </b></th>
<td style="padding-left: 4px;">0.3.0</td>
</tr>
<tr>
<th scope="row">
<b>
Official
</b>
</th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>ANC.DT.27</span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Title: </b></th>
<td style="padding-left: 4px;">ANC.DT.27 Pre-eclampsia risk counselling</td>
</tr>
<tr>
<th scope="row"><b>Type: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<b>system: </b> <span><a href="http://terminology.hl7.org/6.4.0/CodeSystem-plan-definition-type.html">http://terminology.hl7.org/CodeSystem/plan-definition-type</a></span>
</p>
<p style="margin-bottom: 5px;">
<b>code: </b> <span>eca-rule</span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Date: </b></th>
<td style="padding-left: 4px;">2025-06-24 13:58:48-0600</td>
</tr>
<tr>
<th scope="row"><b>Publisher: </b></th>
<td style="padding-left: 4px;">World Health Organization (WHO)</td>
</tr>
<tr>
<th scope="row"><b>Description: </b></th>
<td style="padding-left: 4px;"><div><p>If the woman has risk factors for developing pre-eclampsia, provide counselling to reduce risk of developing pre-eclampsia</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Use Context: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<th><b>code</b></th>
<th><b>value</b></th>
</tr>
<tr>
<td>task</td>
<td/>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>Jurisdiction: </b></th>
<td style="padding-left: 4px;">001</td>
</tr>
<tr>
<th scope="row"><b>Libraries: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<td><a href="Library-ANCDT27.html">ANC.DT.27 Pre-eclampsia risk counselling</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>Actions: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<td>
<b> ANC.DT.27 Pre-eclampsia risk counselling:</b>
<br/>
<b>When:</b>
<i>Named Event:</i> ANC.B6. Collect woman's profile & history
<br/>
<b>Then:</b>
<table class="grid-dict">
<tr>
<td>
The woman is at risk of developing pre-eclampsia – provide counselling
<br/>
<b>If:</b>
<i>Applicability:</i>
((((((("Number of fetuses" ≥ 2 )
OR ("Past pregnancy complications" = "Pre-eclampsia"))
OR ("Past pregnancy complications" = "Eclampsia"))
OR ("Past pregnancy complications" = "Convulsions"))
OR ("Existing chronic health conditions" = "Autoimmune disease"))
OR ("Existing chronic health conditions" = "Diabetes"))
OR ("Existing chronic health conditions" = "Hypertension"))
OR ("Existing chronic health conditions" = "Kidney disease")
<i>(Should Provide counselling on pre-eclampsia risk)</i>
<br/>
</td>
</tr>
<tr>
<td>
The woman is at risk of developing pre-eclampsia: provide counselling; prescribe aspirin 75 mg daily until delivery (starting at 12 weeks gestation) for pre-eclampsia risk
<br/>
<b>If:</b>
<i>Applicability:</i>
(((((((("Number of fetuses" ≥ 2 )
AND ("Gestational age" ≥ 12 weeks))
OR (("Past pregnancy complications" = "Pre-eclampsia")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Past pregnancy complications" = "Eclampsia")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Past pregnancy complications" = "Convulsions")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Autoimmune disease")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Diabetes")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Hypertension")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Kidney disease")
AND ("Gestational age" ≥ 12 weeks))
<i>(Should Provide counselling on pre-eclampsia risk 2)</i>
<br/>
<b>Then:</b> <i>Additional sub-actions not displayed</i>
</td>
</tr>
<tr>
<td>
The woman is at risk of developing pre-eclampsia: provide counselling; prescribe aspirin 75 mg daily until delivery (starting at 12 weeks gestation) and ensure that she continues to take her daily calcium supplement of 1.5–2 g until delivery for pre-eclampsia risk
<br/>
<b>If:</b>
<i>Applicability:</i>
(((((((("Number of fetuses" ≥ 2)
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE))
OR (("Past pregnancy complications" = "Pre-eclampsia")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Past pregnancy complications" = "Eclampsia")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Past pregnancy complications" = "Convulsions")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Autoimmune disease")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Diabetes")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Hypertension")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Kidney disease")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE))
<i>(Should Provide counselling on pre-eclampsia risk 3)</i>
<br/>
<b>Then:</b> <i>Additional sub-actions not displayed</i>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div>
</text>
<contained>
<Library>
<id value="effective-data-requirements"/>
<name value="EffectiveDataRequirements"/>
<status value="active"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="module-definition"/>
</coding>
</type>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Config"/>
<resource value="http://smart.who.int/anc/Library/ANCConfig"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource value="http://smart.who.int/anc/Library/FHIRHelpers|4.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library ContactData"/>
<resource
value="http://smart.who.int/anc/Library/ANCContactDataElements"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library WC"/>
<resource value="http://smart.who.int/anc/Library/WHOCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Cx"/>
<resource value="http://smart.who.int/anc/Library/ANCConcepts"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Gestational age"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de17"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Number of fetuses"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b8-de109"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Past pregnancy complications"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de34"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Past pregnancy complications - Pre-eclampsia Choices"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de37"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Past pregnancy complications - Eclampsia Choices"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de38"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Past pregnancy complications - Convulsions Choices"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de41"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Existing chronic health conditions"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de83"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Existing chronic health conditions - Autoimmune disease Choices"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de86"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Existing chronic health conditions - Diabetes arising in pregnancy (gestational diabetes) Choices"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de90"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Existing chronic health conditions - Diabetes, other or unspecified Choices"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de91"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Existing chronic health conditions - Diabetes, pre-existing type 1 Choices"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de92"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Existing chronic health conditions - Diabetes, pre-existing type 2 Choices"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de93"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Existing chronic health conditions - Hypertension Choices"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de96"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Existing chronic health conditions - Kidney disease Choices"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b6-de97"/>
</relatedArtifact>
<parameter>
<name value="encounter"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Should Provide counselling on pre-eclampsia risk 3"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Should Provide counselling on pre-eclampsia risk 2"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Should Provide counselling on pre-eclampsia risk"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="encounter"/>
<mustSupport value="encounter.reference"/>
<codeFilter>
<path value="code"/>
<valueSet value="http://smart.who.int/anc/ValueSet/anc-b6-de17"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="encounter"/>
<mustSupport value="encounter.reference"/>
<codeFilter>
<path value="code"/>
<valueSet value="http://smart.who.int/anc/ValueSet/anc-b8-de109"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="encounter"/>
<mustSupport value="encounter.reference"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<valueSet value="http://smart.who.int/anc/ValueSet/anc-b6-de34"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mustSupport value="code"/>
<mustSupport value="status"/>
<mustSupport value="encounter"/>
<mustSupport value="encounter.reference"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<valueSet value="http://smart.who.int/anc/ValueSet/anc-b6-de83"/>
</codeFilter>
</dataRequirement>
</Library>
</contained>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCConfig"/>
</extension>
<extension url="name">
<valueString value="Population with low dietary calcium intake"/>
</extension>
<extension url="statement">
<valueString
value="/*
Description: Women in the population are likely to have low dietary
calcium intake (less than 900 mg of calcium per day)
*/
define "Population with low dietary calcium intake":
true"/>
</extension>
<extension url="displaySequence">
<valueInteger value="0"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCContactDataElements"/>
</extension>
<extension url="name">
<valueString value="Gestational age"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dataElement: ANC.B6.DE17 Gestational age
@activity: ANC.B6 Profile
@description: Gestational age in weeks and/or days depending on the source of gestational age
*/
define "Gestational age":
WC.MostRecent(
[Observation: Cx."Gestational age"] O
where O.status in { 'final', 'amended', 'corrected' }
and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false
and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))
).value as FHIR.Quantity"/>
</extension>
<extension url="displaySequence">
<valueInteger value="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCContactDataElements"/>
</extension>
<extension url="name">
<valueString value="Number of fetuses"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dataElement: ANC.B8.DE109 Number of fetuses
@activity: ANC.B8 Physical exam
@description: Indicate the number of fetuses the woman is carrying
*/
define "Number of fetuses":
WC.Only(
[Observation: Cx."Number of fetuses"] O
where O.status in { 'final', 'amended', 'corrected' }
and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false
and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))
).value as FHIR.Quantity"/>
</extension>
<extension url="displaySequence">
<valueInteger value="2"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCContactDataElements"/>
</extension>
<extension url="name">
<valueString value="Past pregnancy complications"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dataElement: ANC.B6.DE34 Past pregnancy complications
@activity: ANC.B6 Profile
@description: Mark whether the woman has had any complications or problems in any previous pregnancy
*/
define "Past pregnancy complications":
[Observation: Cx."Past pregnancy complications"] O
where O.status in { 'final', 'amended', 'corrected' }
and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false
and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))
return O.value as FHIR.CodeableConcept"/>
</extension>
<extension url="displaySequence">
<valueInteger value="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCContactDataElements"/>
</extension>
<extension url="name">
<valueString value="Existing chronic health conditions"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dataElement: ANC.B6.DE83 Existing chronic health conditions
@activity: ANC.B6 Profile
@description: Does the woman have any current chronic health conditions or problems?
*/
define "Existing chronic health conditions":
[Observation: Cx."Existing chronic health conditions"] O
where O.status in { 'final', 'amended', 'corrected' }
and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false
and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))
return O.value as FHIR.CodeableConcept"/>
</extension>
<extension url="displaySequence">
<valueInteger value="4"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT27"/>
</extension>
<extension url="name">
<valueString
value="Should Provide counselling on pre-eclampsia risk 3"/>
</extension>
<extension url="statement">
<valueString
value="/*
(((((((("Number of fetuses" ≥ 2)
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE))
OR (("Past pregnancy complications" = "Pre-eclampsia")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Past pregnancy complications" = "Eclampsia")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Past pregnancy complications" = "Convulsions")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Autoimmune disease")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Diabetes")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Hypertension")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Kidney disease")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE))
*/
define "Should Provide counselling on pre-eclampsia risk 3":
Config."Population with low dietary calcium intake"
and ContactData."Gestational age" <= 12 'weeks'
and (
ContactData."Number of fetuses" >= 2
or ContactData."Past pregnancy complications" in Cx."Past pregnancy complications - Pre-eclampsia Choices"
or ContactData."Past pregnancy complications" in Cx."Past pregnancy complications - Eclampsia Choices"
or ContactData."Past pregnancy complications" in Cx."Past pregnancy complications - Convulsions Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Autoimmune disease Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes arising in pregnancy (gestational diabetes) Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes, other or unspecified Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes, pre-existing type 1 Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes, pre-existing type 2 Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Hypertension Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Kidney disease Choices"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT27"/>
</extension>
<extension url="name">
<valueString
value="Should Provide counselling on pre-eclampsia risk 2"/>
</extension>
<extension url="statement">
<valueString
value="/*
(((((((("Number of fetuses" ≥ 2 )
AND ("Gestational age" ≥ 12 weeks))
OR (("Past pregnancy complications" = "Pre-eclampsia")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Past pregnancy complications" = "Eclampsia")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Past pregnancy complications" = "Convulsions")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Autoimmune disease")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Diabetes")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Hypertension")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Kidney disease")
AND ("Gestational age" ≥ 12 weeks))
*/
define "Should Provide counselling on pre-eclampsia risk 2":
ContactData."Gestational age" <= 12 'weeks'
and (
ContactData."Number of fetuses" >= 2
or ContactData."Past pregnancy complications" in Cx."Past pregnancy complications - Pre-eclampsia Choices"
or ContactData."Past pregnancy complications" in Cx."Past pregnancy complications - Eclampsia Choices"
or ContactData."Past pregnancy complications" in Cx."Past pregnancy complications - Convulsions Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Autoimmune disease Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes arising in pregnancy (gestational diabetes) Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes, other or unspecified Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes, pre-existing type 1 Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes, pre-existing type 2 Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Hypertension Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Kidney disease Choices"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT27"/>
</extension>
<extension url="name">
<valueString value="Should Provide counselling on pre-eclampsia risk"/>
</extension>
<extension url="statement">
<valueString
value="/*
((((((("Number of fetuses" ≥ 2 )
OR ("Past pregnancy complications" = "Pre-eclampsia"))
OR ("Past pregnancy complications" = "Eclampsia"))
OR ("Past pregnancy complications" = "Convulsions"))
OR ("Existing chronic health conditions" = "Autoimmune disease"))
OR ("Existing chronic health conditions" = "Diabetes"))
OR ("Existing chronic health conditions" = "Hypertension"))
OR ("Existing chronic health conditions" = "Kidney disease")
*/
define "Should Provide counselling on pre-eclampsia risk":
ContactData."Number of fetuses" >= 2
or ContactData."Past pregnancy complications" in Cx."Past pregnancy complications - Pre-eclampsia Choices"
or ContactData."Past pregnancy complications" in Cx."Past pregnancy complications - Eclampsia Choices"
or ContactData."Past pregnancy complications" in Cx."Past pregnancy complications - Convulsions Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Autoimmune disease Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes arising in pregnancy (gestational diabetes) Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes, other or unspecified Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes, pre-existing type 1 Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Diabetes, pre-existing type 2 Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Hypertension Choices"
or ContactData."Existing chronic health conditions" in Cx."Existing chronic health conditions - Kidney disease Choices""/>
</extension>
<extension url="displaySequence">
<valueInteger value="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToQuantity"/>
</extension>
<extension url="statement">
<valueString
value="define function ToQuantity(quantity FHIR.Quantity):
case
when quantity is null then null
when quantity.value is null then null
when quantity.comparator is not null then
Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')
when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'
or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then
System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }
else
Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToCalendarUnit"/>
</extension>
<extension url="statement">
<valueString
value="define function ToCalendarUnit(unit System.String):
case unit
when 'ms' then 'millisecond'
when 's' then 'second'
when 'min' then 'minute'
when 'h' then 'hour'
when 'd' then 'day'
when 'wk' then 'week'
when 'mo' then 'month'
when 'a' then 'year'
else unit
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="9"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="WHOCommon"/>
</extension>
<extension url="name">
<valueString value="MostRecent"/>
</extension>
<extension url="statement">
<valueString
value="define function MostRecent(observations List<Observation>):
Last(
observations O
sort by issued
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value ObservationStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToBoolean"/>
</extension>
<extension url="statement">
<valueString
value="define function ToBoolean(value boolean): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="WHOCommon"/>
</extension>
<extension url="name">
<valueString value="ModifierExtension"/>
</extension>
<extension url="statement">
<valueString
value="/*
@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)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="WHOCommon"/>
</extension>
<extension url="name">
<valueString value="ModifierExtensions"/>
</extension>
<extension url="statement">
<valueString
value="/*
@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"/>
</extension>
<extension url="displaySequence">
<valueInteger value="14"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString value="define function ToString(value uri): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="15"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value string): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="16"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="WHOCommon"/>
</extension>
<extension url="name">
<valueString value="Only"/>
</extension>
<extension url="statement">
<valueString
value="define function Only(observations List<Observation>):
singleton from observations"/>
</extension>
<extension url="displaySequence">
<valueInteger value="17"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToConcept"/>
</extension>
<extension url="statement">
<valueString
value="define function ToConcept(concept FHIR.CodeableConcept):
if concept is null then
null
else
System.Concept {
codes: concept.coding C return ToCode(C),
display: concept.text.value
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="18"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToCode"/>
</extension>
<extension url="statement">
<valueString
value="define function ToCode(coding FHIR.Coding):
if coding is null then
null
else
System.Code {
code: coding.code.value,
system: coding.system.value,
version: coding.version.value,
display: coding.display.value
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="19"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements" id="effective-data-requirements">
<valueCanonical value="#effective-data-requirements"/>
</extension>
<extension
url="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem">
<valueReference>🔗
<reference value="Device/cqf-tooling"/>
</valueReference>
</extension>
<url value="http://smart.who.int/anc/PlanDefinition/ANCDT27"/>
<identifier>
<use value="official"/>
<value value="ANC.DT.27"/>
</identifier>
<version value="0.3.0"/>
<name value="ANCDT27"/>
<title value="ANC.DT.27 Pre-eclampsia risk counselling"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/plan-definition-type"/>
<code value="eca-rule"/>
</coding>
</type>
<status value="active"/>
<experimental value="false"/>
<date value="2025-06-24T13:58:48-06:00"/>
<publisher value="World Health Organization (WHO)"/>
<contact>
<telecom>
<system value="url"/>
<value value="https://www.who.int"/>
</telecom>
</contact>
<description
value="If the woman has risk factors for developing pre-eclampsia, provide counselling to reduce risk of developing pre-eclampsia"/>
<useContext>
<code>
<system
value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
<code value="task"/>
<display value="Workflow Task"/>
</code>
<valueCodeableConcept>
<coding>
<system value="http://smart.who.int/anc/CodeSystem/activity-codes"/>
<code value="ANC.B6."/>
<display value="Collect woman's profile & history"/>
</coding>
</valueCodeableConcept>
</useContext>
<jurisdiction>
<coding>
<system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
<code value="001"/>
</coding>
</jurisdiction>
<library value="http://smart.who.int/anc/Library/ANCDT27"/>
<action>
<title value="ANC.DT.27 Pre-eclampsia risk counselling"/>
<trigger>
<type value="named-event"/>
<name value="ANC.B6. Collect woman's profile & history"/>
</trigger>
<action id="1">
<title value="Provide counselling on pre-eclampsia risk"/>
<description value="Provide counselling on pre-eclampsia risk"/>
<textEquivalent
value="The woman is at risk of developing pre-eclampsia – provide counselling"/>
<documentation>
<type value="citation"/>
<label
value="Pregnancy, childbirth, postpartum and newborn care guide (2015): C3 (1)
WHO pre-eclampsia and eclampsia recommendations (2011): 1, 2 (5)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value="((((((("Number of fetuses" ≥ 2 )
OR ("Past pregnancy complications" = "Pre-eclampsia"))
OR ("Past pregnancy complications" = "Eclampsia"))
OR ("Past pregnancy complications" = "Convulsions"))
OR ("Existing chronic health conditions" = "Autoimmune disease"))
OR ("Existing chronic health conditions" = "Diabetes"))
OR ("Existing chronic health conditions" = "Hypertension"))
OR ("Existing chronic health conditions" = "Kidney disease")"/>
<language value="text/cql-identifier"/>
<expression
value="Should Provide counselling on pre-eclampsia risk"/>
</expression>
</condition>
</action>
<action id="2">
<title value="Provide counselling on pre-eclampsia risk"/>
<description value="Provide counselling on pre-eclampsia risk 2"/>
<textEquivalent
value="The woman is at risk of developing pre-eclampsia: provide counselling; prescribe aspirin 75 mg daily until delivery (starting at 12 weeks gestation) for pre-eclampsia risk"/>
<documentation>
<type value="citation"/>
<label
value="Pregnancy, childbirth, postpartum and newborn care guide (2015): C3 (1)
WHO pre-eclampsia and eclampsia recommendations (2011): 1, 10 (5)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value="(((((((("Number of fetuses" ≥ 2 )
AND ("Gestational age" ≥ 12 weeks))
OR (("Past pregnancy complications" = "Pre-eclampsia")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Past pregnancy complications" = "Eclampsia")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Past pregnancy complications" = "Convulsions")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Autoimmune disease")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Diabetes")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Hypertension")
AND ("Gestational age" ≥ 12 weeks)))
OR (("Existing chronic health conditions" = "Kidney disease")
AND ("Gestational age" ≥ 12 weeks))"/>
<language value="text/cql-identifier"/>
<expression
value="Should Provide counselling on pre-eclampsia risk 2"/>
</expression>
</condition>
<action>
<title value="Provide counselling on pre-eclampsia risk"/>
</action>
<action>
<title
value=""Amount of daily aspirin prescribed until delivery" = 75 mg"/>
</action>
</action>
<action id="3">
<title value="Provide counselling on pre-eclampsia risk"/>
<description value="Provide counselling on pre-eclampsia risk 3"/>
<textEquivalent
value="The woman is at risk of developing pre-eclampsia: provide counselling; prescribe aspirin 75 mg daily until delivery (starting at 12 weeks gestation) and ensure that she continues to take her daily calcium supplement of 1.5–2 g until delivery for pre-eclampsia risk "/>
<documentation>
<type value="citation"/>
<label
value="Pregnancy, childbirth, postpartum and newborn care guide (2015): C3 (1)
WHO pre-eclampsia and eclampsia recommendations (2011): 1, 18 (5)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value="(((((((("Number of fetuses" ≥ 2)
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE))
OR (("Past pregnancy complications" = "Pre-eclampsia")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Past pregnancy complications" = "Eclampsia")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Past pregnancy complications" = "Convulsions")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Autoimmune disease")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Diabetes")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Hypertension")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE)))
OR (("Existing chronic health conditions" = "Kidney disease")
AND ("Gestational age" ≥ 12 weeks)
AND ("Population with low dietary calcium intake" = TRUE))"/>
<language value="text/cql-identifier"/>
<expression
value="Should Provide counselling on pre-eclampsia risk 3"/>
</expression>
</condition>
<action>
<title value="Provide counselling on pre-eclampsia risk"/>
</action>
<action>
<title
value=""Amount of daily aspirin prescribed until delivery" = 75 mg"/>
</action>
<action>
<title
value="1.5 g ≤ "Amount of calcium supplements provided" ≤ 2 g"/>
</action>
</action>
</action>
</PlanDefinition>