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="ANCDT23"/>
<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;">ANCDT23</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="PlanDefinition-ANCDT23.html">ANC.DT.23 Gestational diabetes mellitus (GDM) and diabetes mellitus (DM) during pregnancy diagnosis</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.23</span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Title: </b></th>
<td style="padding-left: 4px;">ANC.DT.23 Gestational diabetes mellitus (GDM) and diabetes mellitus (DM) during pregnancy diagnosis</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's blood glucose test results are as follows, provide the necessary counselling and treatment</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-ANCDT23.html">ANC.DT.23 Gestational diabetes mellitus (GDM) and diabetes mellitus (DM) during pregnancy diagnosis</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.23 Gestational diabetes mellitus (GDM) and diabetes mellitus (DM) during pregnancy diagnosis:</b>
<br/>
<b>When:</b>
<i>Named Event:</i> ANC.B10.4. Diagnosis and treatment
<br/>
<b>Then:</b>
<table class="grid-dict">
<tr>
<td>
– The woman has gestational diabetes mellitus (GDM) if her fasting plasma glucose is 92–125 mg/dL
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)
<br/>
<b>If:</b>
<i>Applicability:</i>
92 mg/dL ≤ "Fasting plasma glucose results" < 126 mg/dL
<i>(Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling)</i>
<br/>
</td>
</tr>
<tr>
<td>
– The woman has gestational diabetes mellitus (GDM) if her 75 g OGTT – fasting glucose is 92–125 mg/dL
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)
<br/>
<b>If:</b>
<i>Applicability:</i>
92 mg/dL ≤ "75 g OGTT – fasting glucose results" < 126 mg/dL
<i>(Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 2)</i>
<br/>
</td>
</tr>
<tr>
<td>
– The woman has gestational diabetes mellitus (GDM) if her 75g OGTT – 1 hour is 180–199 mg/dL
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)
<br/>
<b>If:</b>
<i>Applicability:</i>
180 mg/dL ≤ "75 g OGTT – 1 hour results" < 200 mg/dL
<i>(Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 3)</i>
<br/>
</td>
</tr>
<tr>
<td>
– The woman has gestational diabetes mellitus (GDM) if her 75 g OGTT – 2 hours is 153–199 mg/dL
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)
<br/>
<b>If:</b>
<i>Applicability:</i>
153 mg/dL ≤ "75 g OGTT – 2 hours results" < 200 mg/dL
<i>(Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 4)</i>
<br/>
</td>
</tr>
<tr>
<td>
– The woman has diabetes mellitus (DM) in pregnancy if her fasting plasma glucose is 126 mg/dL or higher
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)
<br/>
<b>If:</b>
<i>Applicability:</i>
"Fasting plasma glucose results" ≥ 126 mg/dL
<i>(Should Conduct REQUIRED diabetes mellitus (DM) counselling)</i>
<br/>
</td>
</tr>
<tr>
<td>
– The woman has diabetes mellitus (DM) in pregnancy if her 75 g OGTT – fasting glucose is 126 mg/dL or higher
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)
<br/>
<b>If:</b>
<i>Applicability:</i>
"75 g OGTT – fasting glucose results" ≥ 126 mg/dL
<i>(Should Conduct REQUIRED diabetes mellitus (DM) counselling 2)</i>
<br/>
</td>
</tr>
<tr>
<td>
– The woman has diabetes mellitus (DM) in pregnancy if her 75 g OGTT – 1 hour is 200 mg/dL or higher
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)
<br/>
<b>If:</b>
<i>Applicability:</i>
"75 g OGTT – 1 hour results" ≥ 200 mg/dL
<i>(Should Conduct REQUIRED diabetes mellitus (DM) counselling 3)</i>
<br/>
</td>
</tr>
<tr>
<td>
– The woman has diabetes mellitus (DM) in pregnancy if her fasting 75 g OGTT – 2 hours is 200 mg/dL or higher
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)
<br/>
<b>If:</b>
<i>Applicability:</i>
"75 g OGTT – 2 hours results" ≥ 200 mg/dL
<i>(Should Conduct REQUIRED diabetes mellitus (DM) counselling 4)</i>
<br/>
</td>
</tr>
<tr>
<td>
– The woman has diabetes mellitus (DM) in pregnancy if her random plasma glucose level is 200 mg/dL or higher
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)
<br/>
<b>If:</b>
<i>Applicability:</i>
"Random plasma glucose test results" ≥ 200 mg/dL
<i>(Should Conduct REQUIRED diabetes mellitus (DM) counselling 5)</i>
<br/>
</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 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 Fasting plasma glucose"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b9-de163"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set 75 g oral glucose tolerance test (OGTT) - fasting glucose"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b9-de164"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set 75 g oral glucose tolerance test (OGTT) - 2 hours"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b9-de166"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set 75 g oral glucose tolerance test (OGTT) - 1 hour"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b9-de165"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Random plasma glucose"/>
<resource value="http://smart.who.int/anc/ValueSet/anc-b9-de167"/>
</relatedArtifact>
<parameter>
<name value="encounter"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 2"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 4"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 3"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 5"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 2"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 4"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 3"/>
<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-b9-de163"/>
</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-b9-de164"/>
</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-b9-de166"/>
</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-b9-de165"/>
</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-b9-de167"/>
</codeFilter>
</dataRequirement>
</Library>
</contained>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCContactDataElements"/>
</extension>
<extension url="name">
<valueString value="Fasting plasma glucose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dataElement: ANC.B9.DE163 Fasting plasma glucose
@activity: ANC.B9 Lab tests & imaging
@description: Fasting plasma glucose
*/
define "Fasting plasma glucose":
WC.Only(
[Observation: Cx."Fasting plasma glucose"] 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="0"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT23"/>
</extension>
<extension url="name">
<valueString
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling"/>
</extension>
<extension url="statement">
<valueString
value="/*
92 mg/dL ≤ "Fasting plasma glucose results" < 126 mg/dL
*/
define "Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling":
ContactData."Fasting plasma glucose" in Interval[92 'mg/dL', 126 'mg/dL')"/>
</extension>
<extension url="displaySequence">
<valueInteger value="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT23"/>
</extension>
<extension url="name">
<valueString
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling"/>
</extension>
<extension url="statement">
<valueString
value="/*
"Fasting plasma glucose results" ≥ 126 mg/dL
*/
define "Should Conduct REQUIRED diabetes mellitus (DM) counselling":
ContactData."Fasting plasma glucose" >= 126 'mg/dL'"/>
</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="75 g oral glucose tolerance test (OGTT) - fasting glucose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dataElement: ANC.B9.DE164 75 g oral glucose tolerance test (OGTT) - fasting glucose
@activity: ANC.B9 Lab tests & imaging
@description: 75 g oral glucose tolerance test (OGTT) – fasting glucose
*/
define "75 g oral glucose tolerance test (OGTT) - fasting glucose":
WC.Only(
[Observation: Cx."75 g oral glucose tolerance test (OGTT) - fasting glucose"] 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="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT23"/>
</extension>
<extension url="name">
<valueString
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 2"/>
</extension>
<extension url="statement">
<valueString
value="/*
"75 g OGTT – fasting glucose results" ≥ 126 mg/dL
*/
define "Should Conduct REQUIRED diabetes mellitus (DM) counselling 2":
ContactData."75 g oral glucose tolerance test (OGTT) - fasting glucose" >= 126 'mg/dL'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="4"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCContactDataElements"/>
</extension>
<extension url="name">
<valueString value="75 g oral glucose tolerance test (OGTT) - 2 hours"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dataElement: ANC.B9.DE166 75 g oral glucose tolerance test (OGTT) - 2 hours
@activity: ANC.B9 Lab tests & imaging
@description: 75 g oral glucose tolerance test (OGTT) – 2 hours
*/
define "75 g oral glucose tolerance test (OGTT) - 2 hours":
WC.Only(
[Observation: Cx."75 g oral glucose tolerance test (OGTT) - 2 hours"] 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="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT23"/>
</extension>
<extension url="name">
<valueString
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 4"/>
</extension>
<extension url="statement">
<valueString
value="/*
"75 g OGTT – 2 hours results" ≥ 200 mg/dL
*/
define "Should Conduct REQUIRED diabetes mellitus (DM) counselling 4":
ContactData."75 g oral glucose tolerance test (OGTT) - 2 hours" >= 200 'mg/dL'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCContactDataElements"/>
</extension>
<extension url="name">
<valueString value="75 g oral glucose tolerance test (OGTT) - 1 hour"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dataElement: ANC.B9.DE165 75 g oral glucose tolerance test (OGTT) - 1 hour
@activity: ANC.B9 Lab tests & imaging
@description: 75 g oral glucose tolerance test (OGTT) – 1 hour
*/
define "75 g oral glucose tolerance test (OGTT) - 1 hour":
WC.Only(
[Observation: Cx."75 g oral glucose tolerance test (OGTT) - 1 hour"] 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="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT23"/>
</extension>
<extension url="name">
<valueString
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 3"/>
</extension>
<extension url="statement">
<valueString
value="/*
"75 g OGTT – 1 hour results" ≥ 200 mg/dL
*/
define "Should Conduct REQUIRED diabetes mellitus (DM) counselling 3":
ContactData."75 g oral glucose tolerance test (OGTT) - 1 hour" >= 200 'mg/dL'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCContactDataElements"/>
</extension>
<extension url="name">
<valueString value="Random plasma glucose"/>
</extension>
<extension url="statement">
<valueString
value="/*
@dataElement: ANC.B9.DE167 Random plasma glucose
@activity: ANC.B9 Lab tests & imaging
@description: Random plasma glucose
*/
define "Random plasma glucose":
WC.Only(
[Observation: Cx."Random plasma glucose"] 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="9"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT23"/>
</extension>
<extension url="name">
<valueString
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 5"/>
</extension>
<extension url="statement">
<valueString
value="/*
"Random plasma glucose test results" ≥ 200 mg/dL
*/
define "Should Conduct REQUIRED diabetes mellitus (DM) counselling 5":
ContactData."Random plasma glucose" >= 200 'mg/dL'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT23"/>
</extension>
<extension url="name">
<valueString
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 2"/>
</extension>
<extension url="statement">
<valueString
value="/*
92 mg/dL ≤ "75 g OGTT – fasting glucose results" < 126 mg/dL
*/
define "Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 2":
ContactData."75 g oral glucose tolerance test (OGTT) - fasting glucose" in Interval[92 'mg/dL', 126 'mg/dL')"/>
</extension>
<extension url="displaySequence">
<valueInteger value="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT23"/>
</extension>
<extension url="name">
<valueString
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 4"/>
</extension>
<extension url="statement">
<valueString
value="/*
153 mg/dL ≤ "75 g OGTT – 2 hours results" < 200 mg/dL
*/
define "Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 4":
ContactData."75 g oral glucose tolerance test (OGTT) - 2 hours" in Interval[180 'mg/dL', 200 'mg/dL')"/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="ANCDT23"/>
</extension>
<extension url="name">
<valueString
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 3"/>
</extension>
<extension url="statement">
<valueString
value="/*
180 mg/dL ≤ "75 g OGTT – 1 hour results" < 200 mg/dL
*/
define "Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 3":
ContactData."75 g oral glucose tolerance test (OGTT) - 1 hour" in Interval[180 'mg/dL', 200 'mg/dL')"/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</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="14"/>
</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="15"/>
</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="16"/>
</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="17"/>
</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="18"/>
</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="19"/>
</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="20"/>
</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="21"/>
</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="22"/>
</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/ANCDT23"/>
<identifier>
<use value="official"/>
<value value="ANC.DT.23"/>
</identifier>
<version value="0.3.0"/>
<name value="ANCDT23"/>
<title
value="ANC.DT.23 Gestational diabetes mellitus (GDM) and diabetes mellitus (DM) during pregnancy diagnosis"/>
<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's blood glucose test results are as follows, provide the necessary counselling and treatment"/>
<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.B10.4."/>
<display value="Diagnosis and treatment"/>
</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/ANCDT23"/>
<action>
<title
value="ANC.DT.23 Gestational diabetes mellitus (GDM) and diabetes mellitus (DM) during pregnancy diagnosis"/>
<trigger>
<type value="named-event"/>
<name value="ANC.B10.4. Diagnosis and treatment"/>
</trigger>
<action id="1">
<title
value="Conduct REQUIRED gestational diabetes mellitus (GDM) counselling"/>
<description
value="Conduct REQUIRED gestational diabetes mellitus (GDM) counselling"/>
<textEquivalent
value="– The woman has gestational diabetes mellitus (GDM) if her fasting plasma glucose is 92–125 mg/dL
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)"/>
<documentation>
<type value="citation"/>
<label
value="WHO ANC recommendations (2016): B.1.4. Gestational diabetes mellitus (GDM) (3)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value="92 mg/dL ≤ "Fasting plasma glucose results" < 126 mg/dL"/>
<language value="text/cql-identifier"/>
<expression
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling"/>
</expression>
</condition>
</action>
<action id="2">
<title
value="Conduct REQUIRED gestational diabetes mellitus (GDM) counselling"/>
<description
value="Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 2"/>
<textEquivalent
value="– The woman has gestational diabetes mellitus (GDM) if her 75 g OGTT – fasting glucose is 92–125 mg/dL
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)"/>
<documentation>
<type value="citation"/>
<label
value="WHO ANC recommendations (2016): B.1.4. Gestational diabetes mellitus (GDM) (3)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value="92 mg/dL ≤ "75 g OGTT – fasting glucose results" < 126 mg/dL"/>
<language value="text/cql-identifier"/>
<expression
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 2"/>
</expression>
</condition>
</action>
<action id="3">
<title
value="Conduct REQUIRED gestational diabetes mellitus (GDM) counselling"/>
<description
value="Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 3"/>
<textEquivalent
value="– The woman has gestational diabetes mellitus (GDM) if her 75g OGTT – 1 hour is 180–199 mg/dL
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)"/>
<documentation>
<type value="citation"/>
<label
value="WHO ANC recommendations (2016): B.1.4. Gestational diabetes mellitus (GDM) (3)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value="180 mg/dL ≤ "75 g OGTT – 1 hour results" < 200 mg/dL"/>
<language value="text/cql-identifier"/>
<expression
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 3"/>
</expression>
</condition>
</action>
<action id="4">
<title
value="Conduct REQUIRED gestational diabetes mellitus (GDM) counselling"/>
<description
value="Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 4"/>
<textEquivalent
value="– The woman has gestational diabetes mellitus (GDM) if her 75 g OGTT – 2 hours is 153–199 mg/dL
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)"/>
<documentation>
<type value="citation"/>
<label
value="WHO ANC recommendations (2016): B.1.4. Gestational diabetes mellitus (GDM) (3)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value="153 mg/dL ≤ "75 g OGTT – 2 hours results" < 200 mg/dL"/>
<language value="text/cql-identifier"/>
<expression
value="Should Conduct REQUIRED gestational diabetes mellitus (GDM) counselling 4"/>
</expression>
</condition>
</action>
<action id="5">
<title value="Conduct REQUIRED diabetes mellitus (DM) counselling"/>
<description
value="Conduct REQUIRED diabetes mellitus (DM) counselling"/>
<textEquivalent
value="– The woman has diabetes mellitus (DM) in pregnancy if her fasting plasma glucose is 126 mg/dL or higher
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)"/>
<documentation>
<type value="citation"/>
<label
value="WHO ANC recommendations (2016): B.1.4. Gestational diabetes mellitus (GDM) (3)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value=""Fasting plasma glucose results" ≥ 126 mg/dL"/>
<language value="text/cql-identifier"/>
<expression
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling"/>
</expression>
</condition>
</action>
<action id="6">
<title value="Conduct REQUIRED diabetes mellitus (DM) counselling"/>
<description
value="Conduct REQUIRED diabetes mellitus (DM) counselling 2"/>
<textEquivalent
value="– The woman has diabetes mellitus (DM) in pregnancy if her 75 g OGTT – fasting glucose is 126 mg/dL or higher
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)"/>
<documentation>
<type value="citation"/>
<label
value="WHO ANC recommendations (2016): B.1.4. Gestational diabetes mellitus (GDM) (3)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value=""75 g OGTT – fasting glucose results" ≥ 126 mg/dL"/>
<language value="text/cql-identifier"/>
<expression
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 2"/>
</expression>
</condition>
</action>
<action id="7">
<title value="Conduct REQUIRED diabetes mellitus (DM) counselling"/>
<description
value="Conduct REQUIRED diabetes mellitus (DM) counselling 3"/>
<textEquivalent
value="– The woman has diabetes mellitus (DM) in pregnancy if her 75 g OGTT – 1 hour is 200 mg/dL or higher
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)"/>
<documentation>
<type value="citation"/>
<label
value="WHO ANC recommendations (2016): B.1.4. Gestational diabetes mellitus (GDM) (3)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value=""75 g OGTT – 1 hour results" ≥ 200 mg/dL"/>
<language value="text/cql-identifier"/>
<expression
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 3"/>
</expression>
</condition>
</action>
<action id="8">
<title value="Conduct REQUIRED diabetes mellitus (DM) counselling"/>
<description
value="Conduct REQUIRED diabetes mellitus (DM) counselling 4"/>
<textEquivalent
value="– The woman has diabetes mellitus (DM) in pregnancy if her fasting 75 g OGTT – 2 hours is 200 mg/dL or higher
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)"/>
<documentation>
<type value="citation"/>
<label
value="WHO ANC recommendations (2016): B.1.4. Gestational diabetes mellitus (GDM) (3)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value=""75 g OGTT – 2 hours results" ≥ 200 mg/dL"/>
<language value="text/cql-identifier"/>
<expression
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 4"/>
</expression>
</condition>
</action>
<action id="9">
<title value="Conduct REQUIRED diabetes mellitus (DM) counselling"/>
<description
value="Conduct REQUIRED diabetes mellitus (DM) counselling 5"/>
<textEquivalent
value="– The woman has diabetes mellitus (DM) in pregnancy if her random plasma glucose level is 200 mg/dL or higher
– Woman with hyperglycemia, reassert dietary intervention and refer to high-level care
"Hyperglycaemia first detected at any time during pregnancy should be classified as either gestational diabetes mellitus (GDM) or diabetes mellitus in pregnancy, according to WHO criteria" (2)"/>
<documentation>
<type value="citation"/>
<label
value="WHO ANC recommendations (2016): B.1.4. Gestational diabetes mellitus (GDM) (3)"/>
</documentation>
<condition>
<kind value="applicability"/>
<expression>
<description
value=""Random plasma glucose test results" ≥ 200 mg/dL"/>
<language value="text/cql-identifier"/>
<expression
value="Should Conduct REQUIRED diabetes mellitus (DM) counselling 5"/>
</expression>
</condition>
</action>
</action>
</PlanDefinition>