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

: ANC.DT.01 Danger signs - XML Representation

Active as of 2025-06-24

Raw xml | Download


<PlanDefinition xmlns="http://hl7.org/fhir">
  <id value="ANCDT01"/>
  <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;">ANCDT01</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Url: </b></th>
            <td style="padding-left: 4px;"><a href="PlanDefinition-ANCDT01.html">ANC.DT.01 Danger signs</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.01</span>
                </p>
                
            </td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Title: </b></th>
            <td style="padding-left: 4px;">ANC.DT.01 Danger signs</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>Before each contact, during the Quick Check, the health worker should check whether the woman has any of the danger signs listed here – if yes, she should be referred to the hospital urgently; if no, the normal contact should be continued as normal</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-ANCDT01.html">ANC.DT.01 Danger signs</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.01 Danger signs:</b> 
                            
                            <br/>
                            
                            <b>When:</b>
                            
                            <i>Named Event:</i> ANC.B5 Quick check
                            <br/>
                            
                            
                            
                            
                            <b>Then:</b>
                            <table class="grid-dict">
                                
                                <tr>
                                    <td>
                                        
                                        If no danger signs are present, the health worker can continue with the normal ANC contact
                                        
                                        <br/>
                                        
                                        
                                        <b>If:</b>
                                        
                                        <i>Applicability:</i>
                                        
                                        &quot;Danger signs&quot; = &quot;No danger signs&quot;
                                        
                                        <i>(Should Proceed with ANC contact)</i>
                                        <br/>
                                        
                                        
                                        
                                        
                                        
                                    </td>
                                </tr>
                                
                                <tr>
                                    <td>
                                        
                                        Bluish discolouration around the mucous membranes in the mouth, lips and tongue.
                                        
                                        <br/>
                                        
                                        
                                        <b>If:</b>
                                        
                                        <i>Applicability:</i>
                                        
                                        &quot;Danger signs&quot; = &quot;Central cyanosis&quot;
                                        
                                        <i>(Should Proceed with ANC contact OR Referral for Central cyanosis)</i>
                                        <br/>
                                        
                                        
                                        
                                        
                                        
                                    </td>
                                </tr>
                                
                                <tr>
                                    <td>
                                        
                                        This is a danger sign that indicates that the woman needs urgent management
                                        
                                        <br/>
                                        
                                        
                                        <b>If:</b>
                                        
                                        <i>Applicability:</i>
                                        
                                        (((((((((((&quot;Danger signs&quot; = &quot;Bleeding vaginally&quot;)
  OR (&quot;Danger signs&quot; = &quot;Convulsing&quot;))
  OR (&quot;Danger signs&quot; = &quot;Fever&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe headache&quot;))
  OR (&quot;Danger signs&quot; = &quot;Visual disturbance&quot;))
  OR (&quot;Danger signs&quot; = &quot;Imminent delivery&quot;))
  OR (&quot;Danger signs&quot; = &quot;Labour&quot;))
  OR (&quot;Danger signs&quot; = &quot;Looks very ill&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe vomiting&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe pain&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe abdominal pain&quot;))
  OR (&quot;Danger signs&quot; = &quot;Unconscious&quot;)
                                        
                                        <i>(Should Proceed with ANC contact OR Referral)</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 ContactData"/>
        <resource
                  value="http://smart.who.int/anc/Library/ANCContactDataElements"/>
      </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="Library FHIRHelpers"/>
        <resource value="http://smart.who.int/anc/Library/FHIRHelpers|4.0.1"/>
      </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="Value set Danger signs"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b5-de48"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set Danger Signs - No danger signs Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b5-de49"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set Danger signs Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b5-de50"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set Danger Signs - Central cyanosis Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b5-de51"/>
      </relatedArtifact>
      <parameter>
        <name value="encounter"/>
        <use value="in"/>
        <min value="0"/>
        <max value="1"/>
        <type value="string"/>
      </parameter>
      <parameter>
        <name value="Should Proceed with ANC contact"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="boolean"/>
      </parameter>
      <parameter>
        <name value="Should Proceed with ANC contact OR Referral"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="boolean"/>
      </parameter>
      <parameter>
        <name
              value="Should Proceed with ANC contact OR Referral for Central cyanosis"/>
        <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"/>
        <mustSupport value="value"/>
        <codeFilter>
          <path value="code"/>
          <valueSet value="http://smart.who.int/anc/ValueSet/anc-b5-de48"/>
        </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="Danger signs"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
  @dataElement: ANC.B5.DE48 Danger signs
  @activity: ANC.B5 Quick check
  @description: Before each contact, the health worker should check whether the woman has any of the danger signs listed here – if yes, she should refer to the hospital urgently; if no, she should continue to the normal contact
*/
define &quot;Danger signs&quot;:
  [Observation: Cx.&quot;Danger signs&quot;] 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="0"/>
    </extension>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
    <extension url="libraryName">
      <valueString value="ANCDT01"/>
    </extension>
    <extension url="name">
      <valueString value="Should Proceed with ANC contact"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
&quot;Danger signs&quot; = &quot;No danger signs&quot;
*/
define &quot;Should Proceed with ANC contact&quot;:
  ContactData.&quot;Danger signs&quot; in Cx.&quot;Danger Signs - No danger signs Choices&quot;"/>
    </extension>
    <extension url="displaySequence">
      <valueInteger value="1"/>
    </extension>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
    <extension url="libraryName">
      <valueString value="ANCDT01"/>
    </extension>
    <extension url="name">
      <valueString value="Should Proceed with ANC contact OR Referral"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
(((((((((((&quot;Danger signs&quot; = &quot;Bleeding vaginally&quot;)
  OR (&quot;Danger signs&quot; = &quot;Convulsing&quot;))
  OR (&quot;Danger signs&quot; = &quot;Fever&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe headache&quot;))
  OR (&quot;Danger signs&quot; = &quot;Visual disturbance&quot;))
  OR (&quot;Danger signs&quot; = &quot;Imminent delivery&quot;))
  OR (&quot;Danger signs&quot; = &quot;Labour&quot;))
  OR (&quot;Danger signs&quot; = &quot;Looks very ill&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe vomiting&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe pain&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe abdominal pain&quot;))
  OR (&quot;Danger signs&quot; = &quot;Unconscious&quot;)
*/
define &quot;Should Proceed with ANC contact OR Referral&quot;:
  ContactData.&quot;Danger signs&quot; in Cx.&quot;Danger signs Choices&quot;"/>
    </extension>
    <extension url="displaySequence">
      <valueInteger value="2"/>
    </extension>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
    <extension url="libraryName">
      <valueString value="ANCDT01"/>
    </extension>
    <extension url="name">
      <valueString
                   value="Should Proceed with ANC contact OR Referral for Central cyanosis"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
&quot;Danger signs&quot; = &quot;Central cyanosis&quot;
*/
define &quot;Should Proceed with ANC contact OR Referral for Central cyanosis&quot;:
  ContactData.&quot;Danger signs&quot; in Cx.&quot;Danger Signs - Central cyanosis Choices&quot;"/>
    </extension>
    <extension url="displaySequence">
      <valueInteger value="3"/>
    </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="4"/>
    </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="5"/>
    </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="6"/>
    </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="7"/>
    </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="8"/>
    </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="9"/>
    </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="10"/>
    </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="11"/>
    </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/ANCDT01"/>
  <identifier>
    <use value="official"/>
    <value value="ANC.DT.01"/>
  </identifier>
  <version value="0.3.0"/>
  <name value="ANCDT01"/>
  <title value="ANC.DT.01 Danger signs"/>
  <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="Before each contact, during the Quick Check, the health worker should check whether the woman has any of the danger signs listed here – if yes, she should be referred to the hospital urgently; if no, the normal contact should be continued as normal"/>
  <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.B5"/>
        <display value="Quick check"/>
      </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/ANCDT01"/>
  <action>
    <title value="ANC.DT.01 Danger signs"/>
    <trigger>
      <type value="named-event"/>
      <name value="ANC.B5 Quick check"/>
    </trigger>
    <action id="1">
      <title value="Proceed with ANC contact "/>
      <description value="Proceed with ANC contact "/>
      <textEquivalent
                      value="If no danger signs are present, the health worker can continue with the normal ANC contact"/>
      <documentation>
        <type value="citation"/>
        <label
               value="Pregnancy, childbirth, postpartum and newborn care guide (IMPAC) (2015) (1)"/>
      </documentation>
      <condition>
        <kind value="applicability"/>
        <expression>
          <description
                       value="&quot;Danger signs&quot; = &quot;No danger signs&quot;"/>
          <language value="text/cql-identifier"/>
          <expression value="Should Proceed with ANC contact"/>
        </expression>
      </condition>
    </action>
    <action id="2">
      <title
             value="Proceed with ANC contact OR Referral for Central cyanosis"/>
      <description
                   value="Proceed with ANC contact OR Referral for Central cyanosis"/>
      <textEquivalent
                      value="Bluish discolouration around the mucous membranes in the mouth, lips and tongue."/>
      <documentation>
        <type value="citation"/>
        <label
               value="Pregnancy, childbirth, postpartum and newborn care guide (IMPAC) (2015) (1)"/>
      </documentation>
      <condition>
        <kind value="applicability"/>
        <expression>
          <description
                       value="&quot;Danger signs&quot; = &quot;Central cyanosis&quot;"/>
          <language value="text/cql-identifier"/>
          <expression
                      value="Should Proceed with ANC contact OR Referral for Central cyanosis"/>
        </expression>
      </condition>
    </action>
    <action id="3">
      <title value="Proceed with ANC contact OR Referral"/>
      <description value="Proceed with ANC contact OR Referral"/>
      <textEquivalent
                      value="This is a danger sign that indicates that the woman needs urgent management"/>
      <documentation>
        <type value="citation"/>
        <label
               value="Pregnancy, childbirth, postpartum and newborn care guide (IMPAC) (2015) (1)"/>
      </documentation>
      <condition>
        <kind value="applicability"/>
        <expression>
          <description
                       value="(((((((((((&quot;Danger signs&quot; = &quot;Bleeding vaginally&quot;)
  OR (&quot;Danger signs&quot; = &quot;Convulsing&quot;))
  OR (&quot;Danger signs&quot; = &quot;Fever&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe headache&quot;))
  OR (&quot;Danger signs&quot; = &quot;Visual disturbance&quot;))
  OR (&quot;Danger signs&quot; = &quot;Imminent delivery&quot;))
  OR (&quot;Danger signs&quot; = &quot;Labour&quot;))
  OR (&quot;Danger signs&quot; = &quot;Looks very ill&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe vomiting&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe pain&quot;))
  OR (&quot;Danger signs&quot; = &quot;Severe abdominal pain&quot;))
  OR (&quot;Danger signs&quot; = &quot;Unconscious&quot;)"/>
          <language value="text/cql-identifier"/>
          <expression value="Should Proceed with ANC contact OR Referral"/>
        </expression>
      </condition>
    </action>
  </action>
</PlanDefinition>