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.34 Birth preparedness counselling - XML Representation

Active as of 2025-06-24

Raw xml | Download


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

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

        
        <tr>
            <th scope="row"><b>Title: </b></th>
            <td style="padding-left: 4px;">ANC.DT.34 Birth preparedness 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>General counselling to be provided/reviewed at every contact</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-ANCDT34.html">ANC.DT.34 Birth preparedness 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.34 Birth preparedness counselling:</b> 
                            
                            <br/>
                            
                            <b>When:</b>
                            
                            <i>Named Event:</i> ANC.B10. Counselling, in-facility management &amp; treatment
                            <br/>
                            
                            
                            
                            
                            <b>Then:</b>
                            <table class="grid-dict">
                                
                                <tr>
                                    <td>
                                        
                                        Encourage delivery at a health-care facility.

Risk factors necessitating a facility birth:
– Age 17 or under
– Primigravida
– Parity 6 or higher
– Prior caesarian section
– Previous pregnancy complications: heavy bleeding, forceps or vacuum delivery, convulsions, or 3rd or 4th degree tear
– Vaginal bleeding
– Multiple fetuses
– Abnormal fetal presentation
– HIV positive
– Wants IUD or tubal ligation following delivery
                                        
                                        <br/>
                                        
                                        
                                        <b>If:</b>
                                        
                                        <i>Applicability:</i>
                                        
                                        (((((((((((((((Age&quot; ≤ 17 years)
  OR (&quot;Fetal presentation&quot; = &quot;Transverse fetal presentation&quot;))
  OR (&quot;Fetal presentation&quot; = &quot;Other fetal presentation (specify)&quot;))
  OR (Number of caesarian sections&quot; &gt; 0))
  OR (&quot;Number of fetuses&quot; &gt; 1))
  OR (&quot;Family planning method provided&quot; = &quot;Copper-bearing intrauterine device (Cu-IUD)&quot;))
  OR (&quot;Family planning method provided&quot; = &quot;Levonorgestrel intrauterine device (LNG-IUD)&quot;))
  OR (&quot;Family planning method provided&quot; = &quot;Female sterilization&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;Convulsions&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;Heavy bleeding (during or after delivery)&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;Forceps or vacuum delivery&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;3rd or 4th degree tear&quot;))
  OR (&quot;Current physiological symptoms&quot; = &quot;Vaginal bleeding&quot;))
  OR (&quot;Number of pregnancies (gravida)&quot; = 1))
  OR (&quot;Parity&quot; &gt; 5))
  OR (&quot;HIV status&quot; = &quot;HIV positive&quot;)
                                        
                                        <i>(Should Conduct counselling on birth preparedness and complications readiness)</i>
                                        <br/>
                                        
                                        
                                        
                                        <b>Then:</b> <i>Additional sub-actions not displayed</i>
                                        
                                    </td>
                                </tr>
                                
                                <tr>
                                    <td>
                                        
                                        Explain why delivery needs to be with a skilled birth attendant, preferably at a facility according to woman's preference
                                        
                                        <br/>
                                        
                                        
                                        <b>If:</b>
                                        
                                        <i>Applicability:</i>
                                        
                                        &quot;Planned birth place&quot; = &quot;Home&quot;
                                        
                                        <i>(Should Conduct counselling on birth preparedness and complications readiness 2)</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 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 Planned birth place"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b10-de137"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set Planned birth place - Home Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b10-de140"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set Fetal presentation"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b8-de111"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display
                 value="Value set Fetal presentation - Transverse fetal presentation Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b8-de115"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display
                 value="Value set Fetal presentation - Other fetal presentation (specify) Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b8-de116"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set Number of caesarian sections"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b6-de33"/>
      </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 Family planning method selected"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b10-de145"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display
                 value="Value set Family planning method selected - Copper-bearing intrauterine device (Cu-IUD) Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b10-de146"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display
                 value="Value set Family planning method selected - Levonorgestrel intrauterine device (LNG-IUD) Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b10-de147"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display
                 value="Value set Family planning method selected - Female sterilization Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b10-de162"/>
      </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 - Convulsions Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b6-de41"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display
                 value="Value set Past pregnancy complications - Heavy bleeding (during or after delivery) Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b6-de44"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display
                 value="Value set Past pregnancy complications - Forceps Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b6-de42"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display
                 value="Value set Past pregnancy complications - Perineal tear (3rd or 4th degree) Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b6-de46"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set Current physiological symptoms"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b7-de43"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display
                 value="Value set Current physiological symptoms - Vaginal bleeding Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b7-de66"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set Number of pregnancies (gravida)"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b6-de24"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set Parity"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b6-de32"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set HIV status"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b9-de45"/>
      </relatedArtifact>
      <relatedArtifact>
        <type value="depends-on"/>
        <display value="Value set HIV status - HIV positive Choices"/>
        <resource value="http://smart.who.int/anc/ValueSet/anc-b9-de46"/>
      </relatedArtifact>
      <parameter>
        <name value="encounter"/>
        <use value="in"/>
        <min value="0"/>
        <max value="1"/>
        <type value="string"/>
      </parameter>
      <parameter>
        <name
              value="Should Conduct counselling on birth preparedness and complications readiness 2"/>
        <use value="out"/>
        <min value="0"/>
        <max value="1"/>
        <type value="boolean"/>
      </parameter>
      <parameter>
        <name
              value="Should Conduct counselling on birth preparedness and complications readiness"/>
        <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-b10-de137"/>
        </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-de111"/>
        </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-b6-de33"/>
        </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"/>
        <codeFilter>
          <path value="code"/>
          <valueSet value="http://smart.who.int/anc/ValueSet/anc-b10-de145"/>
        </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-b6-de24"/>
        </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-b6-de32"/>
        </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-de45"/>
        </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-b7-de43"/>
        </codeFilter>
      </dataRequirement>
      <dataRequirement>
        <type value="Patient"/>
        <profile value="http://hl7.org/fhir/StructureDefinition/Patient"/>
      </dataRequirement>
    </Library>
  </contained>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
    <extension url="libraryName">
      <valueString value="ANCContactDataElements"/>
    </extension>
    <extension url="name">
      <valueString value="Planned birth place"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
  @dataElement: ANC.B10.DE137 Planned birth place
  @activity: ANC.B10.6 Risk reduction &amp; general counselling
  @description: Place where woman plans to give birth
*/
define &quot;Planned birth place&quot;:
  WC.Only(
  [Observation: Cx.&quot;Planned birth place&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, '/'))
  ).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="ANCDT34"/>
    </extension>
    <extension url="name">
      <valueString
                   value="Should Conduct counselling on birth preparedness and complications readiness 2"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
&quot;Planned birth place&quot; = &quot;Home&quot;
*/
define &quot;Should Conduct counselling on birth preparedness and complications readiness 2&quot;:
  ContactData.&quot;Planned birth place&quot; in Cx.&quot;Planned birth place - Home 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="ANCContactDataElements"/>
    </extension>
    <extension url="name">
      <valueString value="Fetal presentation"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
  @dataElement: ANC.B8.DE111 Fetal presentation
  @activity: ANC.B8 Physical exam
  @description: If a single fetus only, indicate the presentation of the fetus in the uterus
*/
define &quot;Fetal presentation&quot;:
  WC.Only(
  [Observation: Cx.&quot;Fetal presentation&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, '/'))
  ).value as FHIR.CodeableConcept"/>
    </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="Number of caesarian sections"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
  @dataElement: ANC.B6.DE33 Number of caesarian sections
  @activity: ANC.B6 Profile
  @description: Total number of caesarean sections
*/
define &quot;Number of caesarian sections&quot;:
  WC.MostRecent(
  [Observation: Cx.&quot;Number of caesarian sections&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, '/'))
  ).value as FHIR.integer"/>
    </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="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 &quot;Number of fetuses&quot;:
  WC.Only(
  [Observation: Cx.&quot;Number of fetuses&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, '/'))
  ).value as FHIR.Quantity"/>
    </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="Family planning method selected"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
  @dataElement: ANC.B10.DE145 Family planning method selected
  @activity: ANC.B10.6 Risk reduction &amp; general counselling
  @description: Type of postpartum family planning method selected
*/
define &quot;Family planning method selected&quot;:
  WC.Only(
  [Observation: Cx.&quot;Family planning method selected&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, '/'))
  ).value as FHIR.CodeableConcept"/>
    </extension>
    <extension url="displaySequence">
      <valueInteger value="5"/>
    </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 &quot;Past pregnancy complications&quot;:
  [Observation: Cx.&quot;Past pregnancy complications&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="6"/>
    </extension>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
    <extension url="libraryName">
      <valueString value="ANCContactDataElements"/>
    </extension>
    <extension url="name">
      <valueString value="Current physiological symptoms"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
  @dataElement: ANC.B7.DE43 Current physiological symptoms
  @activity: ANC.B7 Symptoms &amp; Follow-up
  @description: The physiological symptoms that the woman is experiencing right now: select &quot;None&quot; if she is experiencing none of these symptoms
*/
define &quot;Current physiological symptoms&quot;:
  [Observation: Cx.&quot;Current physiological symptoms&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="7"/>
    </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 pregnancies (gravida)"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
  @dataElement: ANC.B6.DE24 Number of pregnancies (gravida)
  @activity: ANC.B6 Profile
  @description: Total number of times the woman has been pregnant (including this pregnancy); also referred to as gravida
*/
define &quot;Number of pregnancies (gravida)&quot;:
  WC.Only(
  [Observation: Cx.&quot;Number of pregnancies (gravida)&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, '/'))
  ).value as FHIR.integer"/>
    </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="Parity"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
  @dataElement: ANC.B6.DE32 Parity
  @activity: ANC.B6 Profile
  @description: Calculated parity is the total number of live and stillbirths
*/
define &quot;Parity&quot;:
  WC.MostRecent(
  [Observation: Cx.&quot;Parity&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, '/'))
  ).value as FHIR.integer"/>
    </extension>
    <extension url="displaySequence">
      <valueInteger value="9"/>
    </extension>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
    <extension url="libraryName">
      <valueString value="ANCContactDataElements"/>
    </extension>
    <extension url="name">
      <valueString value="HIV status"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
  @dataElement: ANC.B9.DE45 HIV status
  @activity: ANC.B9 Lab tests &amp; imaging
  @description: Calculated field for woman's HIV status
*/
define &quot;HIV status&quot;:
  WC.Only(
  [Observation: Cx.&quot;HIV status&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, '/'))
  ).value as FHIR.CodeableConcept"/>
    </extension>
    <extension url="displaySequence">
      <valueInteger value="10"/>
    </extension>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
    <extension url="libraryName">
      <valueString value="ANCDT34"/>
    </extension>
    <extension url="name">
      <valueString
                   value="Should Conduct counselling on birth preparedness and complications readiness"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="/*
(((((((((((((((Age&quot; ≤ 17 years)
  OR (&quot;Fetal presentation&quot; = &quot;Transverse fetal presentation&quot;))
  OR (&quot;Fetal presentation&quot; = &quot;Other fetal presentation (specify)&quot;))
  OR (Number of caesarian sections&quot; &gt; 0))
  OR (&quot;Number of fetuses&quot; &gt; 1))
  OR (&quot;Family planning method provided&quot; = &quot;Copper-bearing intrauterine device (Cu-IUD)&quot;))
  OR (&quot;Family planning method provided&quot; = &quot;Levonorgestrel intrauterine device (LNG-IUD)&quot;))
  OR (&quot;Family planning method provided&quot; = &quot;Female sterilization&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;Convulsions&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;Heavy bleeding (during or after delivery)&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;Forceps or vacuum delivery&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;3rd or 4th degree tear&quot;))
  OR (&quot;Current physiological symptoms&quot; = &quot;Vaginal bleeding&quot;))
  OR (&quot;Number of pregnancies (gravida)&quot; = 1))
  OR (&quot;Parity&quot; &gt; 5))
  OR (&quot;HIV status&quot; = &quot;HIV positive&quot;)
*/
define &quot;Should Conduct counselling on birth preparedness and complications readiness&quot;:
  (AgeInYearsAt(Today()) &lt;= 17)
    or ContactData.&quot;Fetal presentation&quot; in Cx.&quot;Fetal presentation - Transverse fetal presentation Choices&quot;
    or ContactData.&quot;Fetal presentation&quot; in Cx.&quot;Fetal presentation - Other fetal presentation (specify) Choices&quot;
    or ContactData.&quot;Number of caesarian sections&quot; &gt; 0
    or ContactData.&quot;Number of fetuses&quot; &gt; 1
    or (ContactData.&quot;Family planning method selected&quot; in Cx.&quot;Family planning method selected - Copper-bearing intrauterine device (Cu-IUD) Choices&quot;)
    or (ContactData.&quot;Family planning method selected&quot; in Cx.&quot;Family planning method selected - Levonorgestrel intrauterine device (LNG-IUD) Choices&quot;)
    or (ContactData.&quot;Family planning method selected&quot; in Cx.&quot;Family planning method selected - Female sterilization Choices&quot;)
    or (ContactData.&quot;Past pregnancy complications&quot; in Cx.&quot;Past pregnancy complications - Convulsions Choices&quot;)
    or (ContactData.&quot;Past pregnancy complications&quot; in Cx.&quot;Past pregnancy complications - Heavy bleeding (during or after delivery) Choices&quot;)
    or (ContactData.&quot;Past pregnancy complications&quot; in Cx.&quot;Past pregnancy complications - Forceps Choices&quot;)
    or (ContactData.&quot;Past pregnancy complications&quot; in Cx.&quot;Past pregnancy complications - Perineal tear (3rd or 4th degree) Choices&quot;)
    or (ContactData.&quot;Current physiological symptoms&quot; in Cx.&quot;Current physiological symptoms - Vaginal bleeding Choices&quot;)
    or ContactData.&quot;Number of pregnancies (gravida)&quot; = 1
    or ContactData.&quot;Parity&quot; &gt; 5
    or ContactData.&quot;HIV status&quot; in Cx.&quot;HIV status - HIV positive Choices&quot;"/>
    </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="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="12"/>
    </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="13"/>
    </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&lt;Observation&gt;):
  singleton from observations"/>
    </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 ObservationStatus): 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="ToBoolean"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="define function ToBoolean(value boolean): 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="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="17"/>
    </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="18"/>
    </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="19"/>
    </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="20"/>
    </extension>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
    <extension url="libraryName">
      <valueString value="FHIRHelpers"/>
    </extension>
    <extension url="name">
      <valueString value="ToInteger"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="define function ToInteger(value integer): 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="WHOCommon"/>
    </extension>
    <extension url="name">
      <valueString value="MostRecent"/>
    </extension>
    <extension url="statement">
      <valueString
                   value="define function MostRecent(observations List&lt;Observation&gt;):
  Last(
    observations O
      sort by issued
  )"/>
    </extension>
    <extension url="displaySequence">
      <valueInteger value="22"/>
    </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: ' &amp; quantity.unit.value &amp; ' (' &amp; quantity.system.value &amp; '|' &amp; quantity.code.value &amp; ')')
    end"/>
    </extension>
    <extension url="displaySequence">
      <valueInteger value="23"/>
    </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="24"/>
    </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/ANCDT34"/>
  <identifier>
    <use value="official"/>
    <value value="ANC.DT.34"/>
  </identifier>
  <version value="0.3.0"/>
  <name value="ANCDT34"/>
  <title value="ANC.DT.34 Birth preparedness 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="General counselling to be provided/reviewed at every contact"/>
  <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."/>
        <display value="Counselling, in-facility management &amp; 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/ANCDT34"/>
  <action>
    <title value="ANC.DT.34 Birth preparedness counselling"/>
    <trigger>
      <type value="named-event"/>
      <name
            value="ANC.B10. Counselling, in-facility management &amp; treatment"/>
    </trigger>
    <action id="1">
      <title
             value="Conduct counselling on birth preparedness and complications readiness"/>
      <description
                   value="Conduct counselling on birth preparedness and complications readiness"/>
      <textEquivalent
                      value="Encourage delivery at a health-care facility.

Risk factors necessitating a facility birth:
– Age 17 or under
– Primigravida
– Parity 6 or higher
– Prior caesarian section
– Previous pregnancy complications: heavy bleeding, forceps or vacuum delivery, convulsions, or 3rd or 4th degree tear
– Vaginal bleeding
– Multiple fetuses
– Abnormal fetal presentation
– HIV positive
– Wants IUD or tubal ligation following delivery"/>
      <documentation>
        <type value="citation"/>
        <label
               value="Pregnancy, childbirth, postpartum and newborn care guide (IMPAC) (2015) (1)"/>
      </documentation>
      <condition>
        <kind value="applicability"/>
        <expression>
          <description
                       value="(((((((((((((((Age&quot; ≤ 17 years)
  OR (&quot;Fetal presentation&quot; = &quot;Transverse fetal presentation&quot;))
  OR (&quot;Fetal presentation&quot; = &quot;Other fetal presentation (specify)&quot;))
  OR (Number of caesarian sections&quot; &gt; 0))
  OR (&quot;Number of fetuses&quot; &gt; 1))
  OR (&quot;Family planning method provided&quot; = &quot;Copper-bearing intrauterine device (Cu-IUD)&quot;))
  OR (&quot;Family planning method provided&quot; = &quot;Levonorgestrel intrauterine device (LNG-IUD)&quot;))
  OR (&quot;Family planning method provided&quot; = &quot;Female sterilization&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;Convulsions&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;Heavy bleeding (during or after delivery)&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;Forceps or vacuum delivery&quot;))
  OR (&quot;Past pregnancy complications&quot; = &quot;3rd or 4th degree tear&quot;))
  OR (&quot;Current physiological symptoms&quot; = &quot;Vaginal bleeding&quot;))
  OR (&quot;Number of pregnancies (gravida)&quot; = 1))
  OR (&quot;Parity&quot; &gt; 5))
  OR (&quot;HIV status&quot; = &quot;HIV positive&quot;)"/>
          <language value="text/cql-identifier"/>
          <expression
                      value="Should Conduct counselling on birth preparedness and complications readiness"/>
        </expression>
      </condition>
      <action>
        <title
               value="Conduct counselling on birth preparedness and complications readiness"/>
      </action>
      <action>
        <title
               value="Recommend woman to plan to give birth at a health-care facility"/>
      </action>
    </action>
    <action id="2">
      <title
             value="Conduct counselling on birth preparedness and complications readiness"/>
      <description
                   value="Conduct counselling on birth preparedness and complications readiness 2"/>
      <textEquivalent
                      value="Explain why delivery needs to be with a skilled birth attendant, preferably at a facility according to woman's preference"/>
      <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;Planned birth place&quot; = &quot;Home&quot;"/>
          <language value="text/cql-identifier"/>
          <expression
                      value="Should Conduct counselling on birth preparedness and complications readiness 2"/>
        </expression>
      </condition>
      <action>
        <title
               value="Conduct counselling on birth preparedness and complications readiness"/>
      </action>
      <action>
        <title
               value="Explain why delivery needs to be with a skilled birth attendant, preferably at a facility according to woman's preference"/>
      </action>
    </action>
  </action>
</PlanDefinition>