Data Exchange For Quality Measures Implementation Guide
5.0.0-ballot - STU5 Ballot United States of America flag

Data Exchange For Quality Measures Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 5.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-deqm/ and changes regularly. See the Directory of published versions

Library: Library Cervical Cancer Screening (EXM124) (Experimental)

Official URL: http://hl7.org/fhir/us/davinci-deqm/Library/library-exm124-example Version: 5.0.0-ballot
Active as of 2020-07-21 Computable Name: DEQMLibraryEXM124Example
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.28.2

Generated Narrative: Library library-exm124-example

Data Requirements

Type: Coverage (Coverage)
FilterValue
typeIn ValueSet Payer Type
Type: Observation
FilterValue
codeIn ValueSet Pap Test
Type: Observation
FilterValue
codeIn ValueSet HPV Test
Type: Procedure
FilterValue
codeIn ValueSet Hysterectomy with No Residual Cervix
Type: Condition
FilterValue
codeOne of these codes:

Contents

application/elm+xml

<?xml version="1.0" encoding="UTF-8"?>
<library xmlns="urn:hl7-org:elm:r1" xmlns:t="urn:hl7-org:elm-types:r1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:fhir="http://hl7.org/fhir" xmlns:qdm43="urn:healthit-gov:qdm:v4_3" xmlns:qdm53="urn:healthit-gov:qdm:v5_3" xmlns:a="urn:hl7-org:cql-annotations:r1">
   <annotation startLine="91" startChar="2" endLine="91" endChar="56" message="Could not resolve membership operator for terminology target of the retrieve." errorType="semantic" errorSeverity="warning" xsi:type="a:CqlToElmError"/>
   <identifier id="EXM124_FHIR4" version="8.2.000"/>
   <schemaIdentifier id="urn:hl7-org:elm" version="r1"/>
   <usings>
      <def localIdentifier="System" uri="urn:hl7-org:elm-types:r1"/>
      <def localIdentifier="FHIR" uri="http://hl7.org/fhir" version="4.0.0"/>
   </usings>
   <includes>
      <def localIdentifier="FHIRHelpers" path="FHIRHelpers" version="4.0.0"/>
      <def localIdentifier="Hospice" path="Hospice_FHIR4" version="1.0.000"/>
      <def localIdentifier="AdultOutpatientEncounters" path="AdultOutpatientEncounters_FHIR4" version="1.1.000"/>
      <def localIdentifier="Global" path="MATGlobalCommonFunctions_FHIR4" version="4.0.000"/>
      <def localIdentifier="SDE" path="SupplementalDataElements_FHIR4" version="1.0.0"/>
   </includes>
   <parameters>
      <def name="Measurement Period" accessLevel="Public">
         <default lowClosed="true" highClosed="false" xsi:type="Interval">
            <low xsi:type="DateTime">
               <year valueType="t:Integer" value="2019" xsi:type="Literal"/>
               <month valueType="t:Integer" value="1" xsi:type="Literal"/>
               <day valueType="t:Integer" value="1" xsi:type="Literal"/>
               <hour valueType="t:Integer" value="0" xsi:type="Literal"/>
               <minute valueType="t:Integer" value="0" xsi:type="Literal"/>
               <second valueType="t:Integer" value="0" xsi:type="Literal"/>
               <millisecond valueType="t:Integer" value="0" xsi:type="Literal"/>
            </low>
            <high xsi:type="DateTime">
               <year valueType="t:Integer" value="2020" xsi:type="Literal"/>
               <month valueType="t:Integer" value="1" xsi:type="Literal"/>
               <day valueType="t:Integer" value="1" xsi:type="Literal"/>
               <hour valueType="t:Integer" value="0" xsi:type="Literal"/>
               <minute valueType="t:Integer" value="0" xsi:type="Literal"/>
               <second valueType="t:Integer" value="0" xsi:type="Literal"/>
               <millisecond valueType="t:Integer" value="0" xsi:type="Literal"/>
            </high>
         </default>
         <parameterTypeSpecifier xsi:type="IntervalTypeSpecifier">
            <pointType name="t:DateTime" xsi:type="NamedTypeSpecifier"/>
         </parameterTypeSpecifier>
      </def>
   </parameters>
   <codeSystems>
      <def name="SNOMEDCT:2017-09" id="http://snomed.info/sct/731000124108" version="http://snomed.info/sct/731000124108/version/201709" accessLevel="Public"/>
   </codeSystems>
   <valueSets>
      <def name="ONC Administrative Sex" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1" accessLevel="Public"/>
      <def name="Race" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836" accessLevel="Public"/>
      <def name="Ethnicity" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837" accessLevel="Public"/>
      <def name="Payer" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" accessLevel="Public"/>
      <def name="Female" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2" accessLevel="Public"/>
      <def name="Home Healthcare Services" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" accessLevel="Public"/>
      <def name="Hysterectomy with No Residual Cervix" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014" accessLevel="Public"/>
      <def name="Office Visit" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" accessLevel="Public"/>
      <def name="Pap Test" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017" accessLevel="Public"/>
      <def name="Preventive Care Services - Established Office Visit, 18 and Up" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" accessLevel="Public"/>
      <def name="Preventive Care Services-Initial Office Visit, 18 and Up" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" accessLevel="Public"/>
      <def name="HPV Test" id="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059" accessLevel="Public"/>
   </valueSets>
   <codes>
      <def name="Congenital absence of cervix (disorder)" id="37687000" display="Congenital absence of cervix (disorder)" accessLevel="Public">
         <codeSystem name="SNOMEDCT:2017-09"/>
      </def>
   </codes>
   <statements>
      <def name="Patient" context="Patient">
         <expression xsi:type="SingletonFrom">
            <operand dataType="fhir:Patient" xsi:type="Retrieve"/>
         </expression>
      </def>
      <def name="SDE Ethnicity" context="Patient" accessLevel="Public">
         <expression name="SDE Ethnicity" libraryName="SDE" xsi:type="ExpressionRef"/>
      </def>
      <def name="SDE Payer" context="Patient" accessLevel="Public">
         <expression name="SDE Payer" libraryName="SDE" xsi:type="ExpressionRef"/>
      </def>
      <def name="SDE Race" context="Patient" accessLevel="Public">
         <expression name="SDE Race" libraryName="SDE" xsi:type="ExpressionRef"/>
      </def>
      <def name="SDE Sex" context="Patient" accessLevel="Public">
         <expression name="SDE Sex" libraryName="SDE" xsi:type="ExpressionRef"/>
      </def>
      <def name="Pap Test with Results" context="Patient" accessLevel="Public">
         <expression xsi:type="Query">
            <source alias="PapTest">
               <expression dataType="fhir:Observation" codeProperty="code" xsi:type="Retrieve">
                  <codes name="Pap Test" xsi:type="ValueSetRef"/>
               </expression>
            </source>
            <where xsi:type="And">
               <operand xsi:type="Not">
                  <operand xsi:type="IsNull">
                     <operand path="value" scope="PapTest" xsi:type="Property"/>
                  </operand>
               </operand>
               <operand xsi:type="In">
                  <operand name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <operand path="status" scope="PapTest" xsi:type="Property"/>
                  </operand>
                  <operand xsi:type="List">
                     <element valueType="t:String" value="final" xsi:type="Literal"/>
                     <element valueType="t:String" value="amended" xsi:type="Literal"/>
                     <element valueType="t:String" value="corrected" xsi:type="Literal"/>
                     <element valueType="t:String" value="preliminary" xsi:type="Literal"/>
                  </operand>
               </operand>
            </where>
         </expression>
      </def>
      <def name="Pap Test Within 3 Years" context="Patient" accessLevel="Public">
         <expression xsi:type="Query">
            <source alias="PapTest">
               <expression name="Pap Test with Results" xsi:type="ExpressionRef"/>
            </source>
            <where xsi:type="In">
               <operand xsi:type="End">
                  <operand name="Normalize Interval" libraryName="Global" xsi:type="FunctionRef">
                     <operand path="effective" scope="PapTest" xsi:type="Property"/>
                  </operand>
               </operand>
               <operand lowClosed="true" highClosed="false" xsi:type="Interval">
                  <low xsi:type="Subtract">
                     <operand xsi:type="End">
                        <operand name="Measurement Period" xsi:type="ParameterRef"/>
                     </operand>
                     <operand value="3" unit="years" xsi:type="Quantity"/>
                  </low>
                  <high xsi:type="End">
                     <operand name="Measurement Period" xsi:type="ParameterRef"/>
                  </high>
               </operand>
            </where>
         </expression>
      </def>
      <def name="PapTest Within 5 Years" context="Patient" accessLevel="Public">
         <expression xsi:type="Query">
            <source alias="PapTestOver30YearsOld">
               <expression name="Pap Test with Results" xsi:type="ExpressionRef"/>
            </source>
            <where xsi:type="And">
               <operand xsi:type="GreaterOrEqual">
                  <operand name="CalendarAgeInYearsAt" libraryName="Global" xsi:type="FunctionRef">
                     <operand xsi:type="ToDateTime">
                        <operand name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                           <operand path="birthDate" xsi:type="Property">
                              <source name="Patient" xsi:type="ExpressionRef"/>
                           </operand>
                        </operand>
                     </operand>
                     <operand xsi:type="Start">
                        <operand name="Normalize Interval" libraryName="Global" xsi:type="FunctionRef">
                           <operand path="effective" scope="PapTestOver30YearsOld" xsi:type="Property"/>
                        </operand>
                     </operand>
                  </operand>
                  <operand valueType="t:Integer" value="30" xsi:type="Literal"/>
               </operand>
               <operand xsi:type="In">
                  <operand xsi:type="End">
                     <operand name="Normalize Interval" libraryName="Global" xsi:type="FunctionRef">
                        <operand path="effective" scope="PapTestOver30YearsOld" xsi:type="Property"/>
                     </operand>
                  </operand>
                  <operand lowClosed="true" highClosed="false" xsi:type="Interval">
                     <low xsi:type="Subtract">
                        <operand xsi:type="End">
                           <operand name="Measurement Period" xsi:type="ParameterRef"/>
                        </operand>
                        <operand value="5" unit="years" xsi:type="Quantity"/>
                     </low>
                     <high xsi:type="End">
                        <operand name="Measurement Period" xsi:type="ParameterRef"/>
                     </high>
                  </operand>
               </operand>
            </where>
         </expression>
      </def>
      <def name="Pap Test With HPV Within 5 Years" context="Patient" accessLevel="Public">
         <expression xsi:type="Query">
            <source alias="PapTestOver30YearsOld">
               <expression name="PapTest Within 5 Years" xsi:type="ExpressionRef"/>
            </source>
            <relationship alias="HPVTest" xsi:type="With">
               <expression dataType="fhir:Observation" codeProperty="code" xsi:type="Retrieve">
                  <codes name="HPV Test" xsi:type="ValueSetRef"/>
               </expression>
               <suchThat xsi:type="And">
                  <operand xsi:type="And">
                     <operand xsi:type="Not">
                        <operand xsi:type="IsNull">
                           <operand path="value" scope="HPVTest" xsi:type="Property"/>
                        </operand>
                     </operand>
                     <operand xsi:type="In">
                        <operand xsi:type="Start">
                           <operand name="Normalize Interval" libraryName="Global" xsi:type="FunctionRef">
                              <operand path="effective" scope="HPVTest" xsi:type="Property"/>
                           </operand>
                        </operand>
                        <operand lowClosed="true" highClosed="true" xsi:type="Interval">
                           <low xsi:type="Subtract">
                              <operand xsi:type="Start">
                                 <operand name="Normalize Interval" libraryName="Global" xsi:type="FunctionRef">
                                    <operand path="effective" scope="PapTestOver30YearsOld" xsi:type="Property"/>
                                 </operand>
                              </operand>
                              <operand value="1" unit="day" xsi:type="Quantity"/>
                           </low>
                           <high xsi:type="Add">
                              <operand xsi:type="Start">
                                 <operand name="Normalize Interval" libraryName="Global" xsi:type="FunctionRef">
                                    <operand path="effective" scope="PapTestOver30YearsOld" xsi:type="Property"/>
                                 </operand>
                              </operand>
                              <operand value="1" unit="day" xsi:type="Quantity"/>
                           </high>
                        </operand>
                     </operand>
                  </operand>
                  <operand xsi:type="In">
                     <operand name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                        <operand path="status" scope="HPVTest" xsi:type="Property"/>
                     </operand>
                     <operand xsi:type="List">
                        <element valueType="t:String" value="final" xsi:type="Literal"/>
                        <element valueType="t:String" value="amended" xsi:type="Literal"/>
                        <element valueType="t:String" value="corrected" xsi:type="Literal"/>
                        <element valueType="t:String" value="preliminary" xsi:type="Literal"/>
                     </operand>
                  </operand>
               </suchThat>
            </relationship>
         </expression>
      </def>
      <def name="Numerator" context="Patient" accessLevel="Public">
         <expression xsi:type="Or">
            <operand xsi:type="Exists">
               <operand name="Pap Test Within 3 Years" xsi:type="ExpressionRef"/>
            </operand>
            <operand xsi:type="Exists">
               <operand name="Pap Test With HPV Within 5 Years" xsi:type="ExpressionRef"/>
            </operand>
         </expression>
      </def>
      <def name="Initial Population" context="Patient" accessLevel="Public">
         <expression xsi:type="And">
            <operand xsi:type="And">
               <operand xsi:type="Equal">
                  <operand name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <operand path="gender" xsi:type="Property">
                        <source name="Patient" xsi:type="ExpressionRef"/>
                     </operand>
                  </operand>
                  <operand valueType="t:String" value="female" xsi:type="Literal"/>
               </operand>
               <operand xsi:type="In">
                  <operand name="CalendarAgeInYearsAt" libraryName="Global" xsi:type="FunctionRef">
                     <operand xsi:type="ToDateTime">
                        <operand name="ToDate" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                           <operand path="birthDate" xsi:type="Property">
                              <source name="Patient" xsi:type="ExpressionRef"/>
                           </operand>
                        </operand>
                     </operand>
                     <operand xsi:type="Start">
                        <operand name="Measurement Period" xsi:type="ParameterRef"/>
                     </operand>
                  </operand>
                  <operand lowClosed="true" highClosed="true" xsi:type="Interval">
                     <low valueType="t:Integer" value="23" xsi:type="Literal"/>
                     <high valueType="t:Integer" value="64" xsi:type="Literal"/>
                  </operand>
               </operand>
            </operand>
            <operand xsi:type="Exists">
               <operand name="Qualifying Encounters" libraryName="AdultOutpatientEncounters" xsi:type="FunctionRef">
                  <operand name="Measurement Period" xsi:type="ParameterRef"/>
               </operand>
            </operand>
         </expression>
      </def>
      <def name="Denominator" context="Patient" accessLevel="Public">
         <expression name="Initial Population" xsi:type="ExpressionRef"/>
      </def>
      <def name="Surgical Absence of Cervix" context="Patient" accessLevel="Public">
         <expression xsi:type="Query">
            <source alias="NoCervixHysterectomy">
               <expression dataType="fhir:Procedure" codeProperty="code" xsi:type="Retrieve">
                  <codes name="Hysterectomy with No Residual Cervix" xsi:type="ValueSetRef"/>
               </expression>
            </source>
            <where xsi:type="And">
               <operand xsi:type="Before">
                  <operand xsi:type="End">
                     <operand name="Normalize Interval" libraryName="Global" xsi:type="FunctionRef">
                        <operand path="performed" scope="NoCervixHysterectomy" xsi:type="Property"/>
                     </operand>
                  </operand>
                  <operand xsi:type="End">
                     <operand name="Measurement Period" xsi:type="ParameterRef"/>
                  </operand>
               </operand>
               <operand xsi:type="Equal">
                  <operand name="ToString" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <operand path="status" scope="NoCervixHysterectomy" xsi:type="Property"/>
                  </operand>
                  <operand valueType="t:String" value="completed" xsi:type="Literal"/>
               </operand>
            </where>
         </expression>
      </def>
      <def name="Absence of Cervix" context="Patient" accessLevel="Public">
         <expression xsi:type="Query">
            <source alias="NoCervixBirth">
               <expression dataType="fhir:Condition" codeProperty="code" xsi:type="Retrieve">
                  <codes xsi:type="ToList">
                     <operand name="Congenital absence of cervix (disorder)" xsi:type="CodeRef"/>
                  </codes>
               </expression>
            </source>
            <where xsi:type="And">
               <operand xsi:type="Before">
                  <operand xsi:type="Start">
                     <operand name="Normalize Onset" libraryName="Global" xsi:type="FunctionRef">
                        <operand path="onset" scope="NoCervixBirth" xsi:type="Property"/>
                     </operand>
                  </operand>
                  <operand xsi:type="End">
                     <operand name="Measurement Period" xsi:type="ParameterRef"/>
                  </operand>
               </operand>
               <operand xsi:type="Equivalent">
                  <operand name="ToConcept" libraryName="FHIRHelpers" xsi:type="FunctionRef">
                     <operand path="clinicalStatus" scope="NoCervixBirth" xsi:type="Property"/>
                  </operand>
                  <operand xsi:type="ToConcept">
                     <operand name="active" libraryName="Global" xsi:type="CodeRef"/>
                  </operand>
               </operand>
            </where>
         </expression>
      </def>
      <def name="Denominator Exclusion" context="Patient" accessLevel="Public">
         <expression xsi:type="Or">
            <operand xsi:type="Or">
               <operand name="Has Hospice" libraryName="Hospice" xsi:type="FunctionRef">
                  <operand name="Measurement Period" xsi:type="ParameterRef"/>
               </operand>
               <operand xsi:type="Exists">
                  <operand name="Surgical Absence of Cervix" xsi:type="ExpressionRef"/>
               </operand>
            </operand>
            <operand xsi:type="Exists">
               <operand name="Absence of Cervix" xsi:type="ExpressionRef"/>
            </operand>
         </expression>
      </def>
   </statements>
</library>

text/cql

library EXM124_FHIR4 version '8.2.000'

/*
Based on CMS124v7 - Cervical Cancer Screening
*/

/*
This example is a work in progress and should not be considered a final specification
or recommendation for guidance. This example will help guide and direct the process
of finding conventions and usage patterns that meet the needs of the various stakeholders
in the measure development community.
*/

using FHIR version '4.0.0'

include FHIRHelpers version '4.0.0' called FHIRHelpers
include Hospice_FHIR4 version '1.0.000' called Hospice
include AdultOutpatientEncounters_FHIR4 version '1.1.000' called AdultOutpatientEncounters
include MATGlobalCommonFunctions_FHIR4 version '4.0.000' called Global
include SupplementalDataElements_FHIR4 version '1.0.0' called SDE

codesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'

valueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'
valueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'
valueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'
valueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'
valueset "Female": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2'
valueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'
valueset "Hysterectomy with No Residual Cervix": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014'
valueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'
valueset "Pap Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017'
valueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'
valueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'
valueset "HPV Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059'

code "Congenital absence of cervix (disorder)": '37687000' from "SNOMEDCT:2017-09" display 'Congenital absence of cervix (disorder)'

parameter "Measurement Period" Interval<DateTime>
  default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)

context Patient

define "SDE Ethnicity":
  SDE."SDE Ethnicity"

define "SDE Payer":
  SDE."SDE Payer"

define "SDE Race":
  SDE."SDE Race"

define "SDE Sex":
  SDE."SDE Sex"

define "Numerator":
	exists "Pap Test Within 3 Years"
		or exists "Pap Test With HPV Within 5 Years"

define "Denominator":
	"Initial Population"

define "Pap Test with Results":
	[Observation: "Pap Test"] PapTest
		where PapTest.value is not null
			and PapTest.status in { 'final', 'amended', 'corrected', 'preliminary' }

define "Pap Test Within 3 Years":
	"Pap Test with Results" PapTest
		where Global."Normalize Interval"(PapTest.effective) ends 3 years or less before end of "Measurement Period"

define "PapTest Within 5 Years":
	( "Pap Test with Results" PapTestOver30YearsOld
			where Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of Global."Normalize Interval"(PapTestOver30YearsOld.effective))>= 30
				and Global."Normalize Interval"(PapTestOver30YearsOld.effective) ends 5 years or less before end of "Measurement Period"
	)

define "Pap Test With HPV Within 5 Years":
	"PapTest Within 5 Years" PapTestOver30YearsOld
		with [Observation: "HPV Test"] HPVTest
			such that HPVTest.value is not null
        and Global."Normalize Interval"(HPVTest.effective) starts within 1 day of start of Global."Normalize Interval"(PapTestOver30YearsOld.effective)
				and HPVTest.status in { 'final', 'amended', 'corrected', 'preliminary' }

define "Denominator Exclusion":
	Hospice."Has Hospice"("Measurement Period")
		or exists "Surgical Absence of Cervix"
		or exists "Absence of Cervix"

define "Absence of Cervix":
	[Condition : "Congenital absence of cervix (disorder)"] NoCervixBirth
		where Global."Normalize Onset"(NoCervixBirth.onset) starts before end of "Measurement Period"
      and NoCervixBirth.clinicalStatus ~ ToConcept(Global."active")

define "Surgical Absence of Cervix":
	[Procedure: "Hysterectomy with No Residual Cervix"] NoCervixHysterectomy
		where Global."Normalize Interval"(NoCervixHysterectomy.performed) ends before end of "Measurement Period"
			and NoCervixHysterectomy.status = 'completed'

define "Initial Population":
	Patient.gender = 'female'
		and Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period") in Interval[23, 64]
		and exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")