SMART DAK Cervical Cancer Screening
0.0.1 - ci-build

SMART DAK Cervical Cancer Screening, published by Dan Heslinga (independent contributor). This guide is not an authorized publication; it is the continuous build for version 0.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/dhes/smart-dak-cxca/ and changes regularly. See the Directory of published versions

Logical Model: CXCA.D1 — Cervical Cancer Screening Anamnesis

Official URL: http://smart.who.int/cxca/StructureDefinition/CXCAD1 Version: 0.0.1
Draft as of 2026-05-14 Computable Name: CXCAD1

Logical model for the first-encounter intake / anamnesis used at the start of a cervical cancer screening encounter. Mirrors A/641 (2020) Op.Inst. 5.1 (p. 105). Paired with QCXCAD1 Questionnaire for data capture; the eventual SDC StructureMap will extract a filled-in QuestionnaireResponse into FHIR resources conforming to vendored smart-core profiles.

Usages:

  • This Logical Model is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CXCAD1 C 0..* Base CXCA.D1 — Cervical Cancer Screening Anamnesis
Constraints: cxca-d1-pregnant-needs-gestational-age, cxca-d1-hiv-positive-needs-art-status, cxca-d1-hysterectomy-needs-indication, cxca-d1-screening-date-not-future
... clientAge 1..1 integer Client's age in years on the encounter date
... clientEducation 0..1 string Client's highest level of education completed (free text in this iteration; may be coded against an ISCED valueset in a future iteration)
... numberOfPregnancies 0..1 integer Number of pregnancies (gravidity), regardless of outcome
... lastMenstrualPeriod 0..1 date First day of the client's most recent menstrual period. Drives sample-collection timing — per A/641 Op.Inst. 5.1 section 10, samples should not be collected during heavy menstrual flow.
... currentlyPregnant 0..1 boolean Whether the client is currently pregnant. Pregnant women in the first 3 months may be opportunistically included in screening per A/641 section 2.2.
... gestationalAgeWeeks 0..1 integer If currently pregnant, gestational age in weeks. Required if currentlyPregnant = true.
... currentContraception 0..1 string Description of the client's current contraception method (free text; will bind to a contraception-method valueset when smart-core's medicationstatement-current-contraceptive-methods profile is vendored)
... pastContraception 0..1 string Description of past contraception methods used (free text)
... ageAtFirstSexualContact 0..1 integer Client's age in years at first sexual contact. Risk factor — earlier age is associated with higher cervical cancer risk.
... ageAtFirstDelivery 0..1 integer Client's age in years at first delivery (if any). Risk factor.
... numberOfSexualPartners 0..1 integer Lifetime number of sexual partners. Risk factor.
... hasHadSTI 0..1 boolean Whether the client has had any sexually transmitted infection. Risk factor.
... hivStatus 0..1 Coding Client's HIV status. Bound to CXCA.D codes DE17 (HIV-positive), DE18 (HIV-negative), DE19 (HIV status unknown). Per WHO, WLHIV are 6× more likely to develop cervical cancer.
... currentlyOnART 0..1 boolean If HIV-positive, whether the client is currently on antiretroviral therapy. Required (per FHIRPath invariant) when hivStatus indicates HIV-positive.
... lastScreeningDate 0..1 date Date of the client's most recent prior cervical cancer screening, if any. Drives the recall-cycle / not-due-in-cycle decision.
... lastScreeningType 0..1 Coding Type of the most recent prior screening. Bound to CXCA.D codes DE23 (HPV), DE24 (cytology), DE25 (VIA).
... lastScreeningResult 0..1 Coding Result category of the most recent prior screening. Bound to CXCA.D codes DE26 (normal), DE27 (abnormal), DE28 (unknown).
... hadHysterectomy 0..1 boolean Whether the client has had a hysterectomy. Drives the eligibility-exclusion check per A/641 section 2.2.
... hysterectomyForCervicalCancer 0..1 boolean If hadHysterectomy = true, whether the indication was cervical cancer (in which case the screening exclusion does NOT apply per A/641 section 2.2). Required when hadHysterectomy = true.
... smokingStatus 0..1 Coding Client's smoking status. Bound to CXCA.D codes DE20 (current), DE21 (former), DE22 (never).
... alcoholUse 0..1 boolean Whether the client consumes alcohol regularly. Documented as a risk factor per A/641 section 1.3.2.
... hasPostcoitalBleeding 0..1 boolean Whether the client reports bleeding after intercourse. May indicate cervical pathology — flag for clinician attention.
... hasIntermenstrualBleeding 0..1 boolean Whether the client reports bleeding between menstrual periods. May indicate cervical pathology.
... hasUnusualDischarge 0..1 boolean Whether the client reports unusual vaginal discharge.

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
cxca-d1-hiv-positive-needs-art-status error CXCAD1 If hivStatus indicates HIV-positive (CXCA.D#DE17), currentlyOnART must be provided hivStatus.empty() or hivStatus.code != 'DE17' or currentlyOnART.exists()
cxca-d1-hysterectomy-needs-indication error CXCAD1 If hadHysterectomy = true, hysterectomyForCervicalCancer must be provided hadHysterectomy.empty() or hadHysterectomy = false or hysterectomyForCervicalCancer.exists()
cxca-d1-pregnant-needs-gestational-age error CXCAD1 If currentlyPregnant = true, gestationalAgeWeeks must be provided currentlyPregnant.empty() or currentlyPregnant = false or gestationalAgeWeeks.exists()
cxca-d1-screening-date-not-future error CXCAD1 Last screening date cannot be in the future lastScreeningDate.empty() or lastScreeningDate <= today()

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CXCAD1 C 0..* Base CXCA.D1 — Cervical Cancer Screening Anamnesis
Constraints: cxca-d1-pregnant-needs-gestational-age, cxca-d1-hiv-positive-needs-art-status, cxca-d1-hysterectomy-needs-indication, cxca-d1-screening-date-not-future
... clientAge 1..1 integer Client's age in years on the encounter date
... clientEducation 0..1 string Client's highest level of education completed (free text in this iteration; may be coded against an ISCED valueset in a future iteration)
... numberOfPregnancies 0..1 integer Number of pregnancies (gravidity), regardless of outcome
... lastMenstrualPeriod 0..1 date First day of the client's most recent menstrual period. Drives sample-collection timing — per A/641 Op.Inst. 5.1 section 10, samples should not be collected during heavy menstrual flow.
... currentlyPregnant 0..1 boolean Whether the client is currently pregnant. Pregnant women in the first 3 months may be opportunistically included in screening per A/641 section 2.2.
... gestationalAgeWeeks 0..1 integer If currently pregnant, gestational age in weeks. Required if currentlyPregnant = true.
... currentContraception 0..1 string Description of the client's current contraception method (free text; will bind to a contraception-method valueset when smart-core's medicationstatement-current-contraceptive-methods profile is vendored)
... pastContraception 0..1 string Description of past contraception methods used (free text)
... ageAtFirstSexualContact 0..1 integer Client's age in years at first sexual contact. Risk factor — earlier age is associated with higher cervical cancer risk.
... ageAtFirstDelivery 0..1 integer Client's age in years at first delivery (if any). Risk factor.
... numberOfSexualPartners 0..1 integer Lifetime number of sexual partners. Risk factor.
... hasHadSTI 0..1 boolean Whether the client has had any sexually transmitted infection. Risk factor.
... hivStatus 0..1 Coding Client's HIV status. Bound to CXCA.D codes DE17 (HIV-positive), DE18 (HIV-negative), DE19 (HIV status unknown). Per WHO, WLHIV are 6× more likely to develop cervical cancer.
... currentlyOnART 0..1 boolean If HIV-positive, whether the client is currently on antiretroviral therapy. Required (per FHIRPath invariant) when hivStatus indicates HIV-positive.
... lastScreeningDate 0..1 date Date of the client's most recent prior cervical cancer screening, if any. Drives the recall-cycle / not-due-in-cycle decision.
... lastScreeningType 0..1 Coding Type of the most recent prior screening. Bound to CXCA.D codes DE23 (HPV), DE24 (cytology), DE25 (VIA).
... lastScreeningResult 0..1 Coding Result category of the most recent prior screening. Bound to CXCA.D codes DE26 (normal), DE27 (abnormal), DE28 (unknown).
... hadHysterectomy 0..1 boolean Whether the client has had a hysterectomy. Drives the eligibility-exclusion check per A/641 section 2.2.
... hysterectomyForCervicalCancer 0..1 boolean If hadHysterectomy = true, whether the indication was cervical cancer (in which case the screening exclusion does NOT apply per A/641 section 2.2). Required when hadHysterectomy = true.
... smokingStatus 0..1 Coding Client's smoking status. Bound to CXCA.D codes DE20 (current), DE21 (former), DE22 (never).
... alcoholUse 0..1 boolean Whether the client consumes alcohol regularly. Documented as a risk factor per A/641 section 1.3.2.
... hasPostcoitalBleeding 0..1 boolean Whether the client reports bleeding after intercourse. May indicate cervical pathology — flag for clinician attention.
... hasIntermenstrualBleeding 0..1 boolean Whether the client reports bleeding between menstrual periods. May indicate cervical pathology.
... hasUnusualDischarge 0..1 boolean Whether the client reports unusual vaginal discharge.

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
cxca-d1-hiv-positive-needs-art-status error CXCAD1 If hivStatus indicates HIV-positive (CXCA.D#DE17), currentlyOnART must be provided hivStatus.empty() or hivStatus.code != 'DE17' or currentlyOnART.exists()
cxca-d1-hysterectomy-needs-indication error CXCAD1 If hadHysterectomy = true, hysterectomyForCervicalCancer must be provided hadHysterectomy.empty() or hadHysterectomy = false or hysterectomyForCervicalCancer.exists()
cxca-d1-pregnant-needs-gestational-age error CXCAD1 If currentlyPregnant = true, gestationalAgeWeeks must be provided currentlyPregnant.empty() or currentlyPregnant = false or gestationalAgeWeeks.exists()
cxca-d1-screening-date-not-future error CXCAD1 Last screening date cannot be in the future lastScreeningDate.empty() or lastScreeningDate <= today()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CXCAD1 C 0..* Base CXCA.D1 — Cervical Cancer Screening Anamnesis
Constraints: cxca-d1-pregnant-needs-gestational-age, cxca-d1-hiv-positive-needs-art-status, cxca-d1-hysterectomy-needs-indication, cxca-d1-screening-date-not-future
... clientAge 1..1 integer Client's age in years on the encounter date
... clientEducation 0..1 string Client's highest level of education completed (free text in this iteration; may be coded against an ISCED valueset in a future iteration)
... numberOfPregnancies 0..1 integer Number of pregnancies (gravidity), regardless of outcome
... lastMenstrualPeriod 0..1 date First day of the client's most recent menstrual period. Drives sample-collection timing — per A/641 Op.Inst. 5.1 section 10, samples should not be collected during heavy menstrual flow.
... currentlyPregnant 0..1 boolean Whether the client is currently pregnant. Pregnant women in the first 3 months may be opportunistically included in screening per A/641 section 2.2.
... gestationalAgeWeeks 0..1 integer If currently pregnant, gestational age in weeks. Required if currentlyPregnant = true.
... currentContraception 0..1 string Description of the client's current contraception method (free text; will bind to a contraception-method valueset when smart-core's medicationstatement-current-contraceptive-methods profile is vendored)
... pastContraception 0..1 string Description of past contraception methods used (free text)
... ageAtFirstSexualContact 0..1 integer Client's age in years at first sexual contact. Risk factor — earlier age is associated with higher cervical cancer risk.
... ageAtFirstDelivery 0..1 integer Client's age in years at first delivery (if any). Risk factor.
... numberOfSexualPartners 0..1 integer Lifetime number of sexual partners. Risk factor.
... hasHadSTI 0..1 boolean Whether the client has had any sexually transmitted infection. Risk factor.
... hivStatus 0..1 Coding Client's HIV status. Bound to CXCA.D codes DE17 (HIV-positive), DE18 (HIV-negative), DE19 (HIV status unknown). Per WHO, WLHIV are 6× more likely to develop cervical cancer.
... currentlyOnART 0..1 boolean If HIV-positive, whether the client is currently on antiretroviral therapy. Required (per FHIRPath invariant) when hivStatus indicates HIV-positive.
... lastScreeningDate 0..1 date Date of the client's most recent prior cervical cancer screening, if any. Drives the recall-cycle / not-due-in-cycle decision.
... lastScreeningType 0..1 Coding Type of the most recent prior screening. Bound to CXCA.D codes DE23 (HPV), DE24 (cytology), DE25 (VIA).
... lastScreeningResult 0..1 Coding Result category of the most recent prior screening. Bound to CXCA.D codes DE26 (normal), DE27 (abnormal), DE28 (unknown).
... hadHysterectomy 0..1 boolean Whether the client has had a hysterectomy. Drives the eligibility-exclusion check per A/641 section 2.2.
... hysterectomyForCervicalCancer 0..1 boolean If hadHysterectomy = true, whether the indication was cervical cancer (in which case the screening exclusion does NOT apply per A/641 section 2.2). Required when hadHysterectomy = true.
... smokingStatus 0..1 Coding Client's smoking status. Bound to CXCA.D codes DE20 (current), DE21 (former), DE22 (never).
... alcoholUse 0..1 boolean Whether the client consumes alcohol regularly. Documented as a risk factor per A/641 section 1.3.2.
... hasPostcoitalBleeding 0..1 boolean Whether the client reports bleeding after intercourse. May indicate cervical pathology — flag for clinician attention.
... hasIntermenstrualBleeding 0..1 boolean Whether the client reports bleeding between menstrual periods. May indicate cervical pathology.
... hasUnusualDischarge 0..1 boolean Whether the client reports unusual vaginal discharge.

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
cxca-d1-hiv-positive-needs-art-status error CXCAD1 If hivStatus indicates HIV-positive (CXCA.D#DE17), currentlyOnART must be provided hivStatus.empty() or hivStatus.code != 'DE17' or currentlyOnART.exists()
cxca-d1-hysterectomy-needs-indication error CXCAD1 If hadHysterectomy = true, hysterectomyForCervicalCancer must be provided hadHysterectomy.empty() or hadHysterectomy = false or hysterectomyForCervicalCancer.exists()
cxca-d1-pregnant-needs-gestational-age error CXCAD1 If currentlyPregnant = true, gestationalAgeWeeks must be provided currentlyPregnant.empty() or currentlyPregnant = false or gestationalAgeWeeks.exists()
cxca-d1-screening-date-not-future error CXCAD1 Last screening date cannot be in the future lastScreeningDate.empty() or lastScreeningDate <= today()

This structure is derived from Base

Summary

Mandatory: 0 element(1 nested mandatory element)

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CXCAD1 C 0..* Base CXCA.D1 — Cervical Cancer Screening Anamnesis
Constraints: cxca-d1-pregnant-needs-gestational-age, cxca-d1-hiv-positive-needs-art-status, cxca-d1-hysterectomy-needs-indication, cxca-d1-screening-date-not-future
... clientAge 1..1 integer Client's age in years on the encounter date
... clientEducation 0..1 string Client's highest level of education completed (free text in this iteration; may be coded against an ISCED valueset in a future iteration)
... numberOfPregnancies 0..1 integer Number of pregnancies (gravidity), regardless of outcome
... lastMenstrualPeriod 0..1 date First day of the client's most recent menstrual period. Drives sample-collection timing — per A/641 Op.Inst. 5.1 section 10, samples should not be collected during heavy menstrual flow.
... currentlyPregnant 0..1 boolean Whether the client is currently pregnant. Pregnant women in the first 3 months may be opportunistically included in screening per A/641 section 2.2.
... gestationalAgeWeeks 0..1 integer If currently pregnant, gestational age in weeks. Required if currentlyPregnant = true.
... currentContraception 0..1 string Description of the client's current contraception method (free text; will bind to a contraception-method valueset when smart-core's medicationstatement-current-contraceptive-methods profile is vendored)
... pastContraception 0..1 string Description of past contraception methods used (free text)
... ageAtFirstSexualContact 0..1 integer Client's age in years at first sexual contact. Risk factor — earlier age is associated with higher cervical cancer risk.
... ageAtFirstDelivery 0..1 integer Client's age in years at first delivery (if any). Risk factor.
... numberOfSexualPartners 0..1 integer Lifetime number of sexual partners. Risk factor.
... hasHadSTI 0..1 boolean Whether the client has had any sexually transmitted infection. Risk factor.
... hivStatus 0..1 Coding Client's HIV status. Bound to CXCA.D codes DE17 (HIV-positive), DE18 (HIV-negative), DE19 (HIV status unknown). Per WHO, WLHIV are 6× more likely to develop cervical cancer.
... currentlyOnART 0..1 boolean If HIV-positive, whether the client is currently on antiretroviral therapy. Required (per FHIRPath invariant) when hivStatus indicates HIV-positive.
... lastScreeningDate 0..1 date Date of the client's most recent prior cervical cancer screening, if any. Drives the recall-cycle / not-due-in-cycle decision.
... lastScreeningType 0..1 Coding Type of the most recent prior screening. Bound to CXCA.D codes DE23 (HPV), DE24 (cytology), DE25 (VIA).
... lastScreeningResult 0..1 Coding Result category of the most recent prior screening. Bound to CXCA.D codes DE26 (normal), DE27 (abnormal), DE28 (unknown).
... hadHysterectomy 0..1 boolean Whether the client has had a hysterectomy. Drives the eligibility-exclusion check per A/641 section 2.2.
... hysterectomyForCervicalCancer 0..1 boolean If hadHysterectomy = true, whether the indication was cervical cancer (in which case the screening exclusion does NOT apply per A/641 section 2.2). Required when hadHysterectomy = true.
... smokingStatus 0..1 Coding Client's smoking status. Bound to CXCA.D codes DE20 (current), DE21 (former), DE22 (never).
... alcoholUse 0..1 boolean Whether the client consumes alcohol regularly. Documented as a risk factor per A/641 section 1.3.2.
... hasPostcoitalBleeding 0..1 boolean Whether the client reports bleeding after intercourse. May indicate cervical pathology — flag for clinician attention.
... hasIntermenstrualBleeding 0..1 boolean Whether the client reports bleeding between menstrual periods. May indicate cervical pathology.
... hasUnusualDischarge 0..1 boolean Whether the client reports unusual vaginal discharge.

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
cxca-d1-hiv-positive-needs-art-status error CXCAD1 If hivStatus indicates HIV-positive (CXCA.D#DE17), currentlyOnART must be provided hivStatus.empty() or hivStatus.code != 'DE17' or currentlyOnART.exists()
cxca-d1-hysterectomy-needs-indication error CXCAD1 If hadHysterectomy = true, hysterectomyForCervicalCancer must be provided hadHysterectomy.empty() or hadHysterectomy = false or hysterectomyForCervicalCancer.exists()
cxca-d1-pregnant-needs-gestational-age error CXCAD1 If currentlyPregnant = true, gestationalAgeWeeks must be provided currentlyPregnant.empty() or currentlyPregnant = false or gestationalAgeWeeks.exists()
cxca-d1-screening-date-not-future error CXCAD1 Last screening date cannot be in the future lastScreeningDate.empty() or lastScreeningDate <= today()

Differential View

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CXCAD1 C 0..* Base CXCA.D1 — Cervical Cancer Screening Anamnesis
Constraints: cxca-d1-pregnant-needs-gestational-age, cxca-d1-hiv-positive-needs-art-status, cxca-d1-hysterectomy-needs-indication, cxca-d1-screening-date-not-future
... clientAge 1..1 integer Client's age in years on the encounter date
... clientEducation 0..1 string Client's highest level of education completed (free text in this iteration; may be coded against an ISCED valueset in a future iteration)
... numberOfPregnancies 0..1 integer Number of pregnancies (gravidity), regardless of outcome
... lastMenstrualPeriod 0..1 date First day of the client's most recent menstrual period. Drives sample-collection timing — per A/641 Op.Inst. 5.1 section 10, samples should not be collected during heavy menstrual flow.
... currentlyPregnant 0..1 boolean Whether the client is currently pregnant. Pregnant women in the first 3 months may be opportunistically included in screening per A/641 section 2.2.
... gestationalAgeWeeks 0..1 integer If currently pregnant, gestational age in weeks. Required if currentlyPregnant = true.
... currentContraception 0..1 string Description of the client's current contraception method (free text; will bind to a contraception-method valueset when smart-core's medicationstatement-current-contraceptive-methods profile is vendored)
... pastContraception 0..1 string Description of past contraception methods used (free text)
... ageAtFirstSexualContact 0..1 integer Client's age in years at first sexual contact. Risk factor — earlier age is associated with higher cervical cancer risk.
... ageAtFirstDelivery 0..1 integer Client's age in years at first delivery (if any). Risk factor.
... numberOfSexualPartners 0..1 integer Lifetime number of sexual partners. Risk factor.
... hasHadSTI 0..1 boolean Whether the client has had any sexually transmitted infection. Risk factor.
... hivStatus 0..1 Coding Client's HIV status. Bound to CXCA.D codes DE17 (HIV-positive), DE18 (HIV-negative), DE19 (HIV status unknown). Per WHO, WLHIV are 6× more likely to develop cervical cancer.
... currentlyOnART 0..1 boolean If HIV-positive, whether the client is currently on antiretroviral therapy. Required (per FHIRPath invariant) when hivStatus indicates HIV-positive.
... lastScreeningDate 0..1 date Date of the client's most recent prior cervical cancer screening, if any. Drives the recall-cycle / not-due-in-cycle decision.
... lastScreeningType 0..1 Coding Type of the most recent prior screening. Bound to CXCA.D codes DE23 (HPV), DE24 (cytology), DE25 (VIA).
... lastScreeningResult 0..1 Coding Result category of the most recent prior screening. Bound to CXCA.D codes DE26 (normal), DE27 (abnormal), DE28 (unknown).
... hadHysterectomy 0..1 boolean Whether the client has had a hysterectomy. Drives the eligibility-exclusion check per A/641 section 2.2.
... hysterectomyForCervicalCancer 0..1 boolean If hadHysterectomy = true, whether the indication was cervical cancer (in which case the screening exclusion does NOT apply per A/641 section 2.2). Required when hadHysterectomy = true.
... smokingStatus 0..1 Coding Client's smoking status. Bound to CXCA.D codes DE20 (current), DE21 (former), DE22 (never).
... alcoholUse 0..1 boolean Whether the client consumes alcohol regularly. Documented as a risk factor per A/641 section 1.3.2.
... hasPostcoitalBleeding 0..1 boolean Whether the client reports bleeding after intercourse. May indicate cervical pathology — flag for clinician attention.
... hasIntermenstrualBleeding 0..1 boolean Whether the client reports bleeding between menstrual periods. May indicate cervical pathology.
... hasUnusualDischarge 0..1 boolean Whether the client reports unusual vaginal discharge.

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
cxca-d1-hiv-positive-needs-art-status error CXCAD1 If hivStatus indicates HIV-positive (CXCA.D#DE17), currentlyOnART must be provided hivStatus.empty() or hivStatus.code != 'DE17' or currentlyOnART.exists()
cxca-d1-hysterectomy-needs-indication error CXCAD1 If hadHysterectomy = true, hysterectomyForCervicalCancer must be provided hadHysterectomy.empty() or hadHysterectomy = false or hysterectomyForCervicalCancer.exists()
cxca-d1-pregnant-needs-gestational-age error CXCAD1 If currentlyPregnant = true, gestationalAgeWeeks must be provided currentlyPregnant.empty() or currentlyPregnant = false or gestationalAgeWeeks.exists()
cxca-d1-screening-date-not-future error CXCAD1 Last screening date cannot be in the future lastScreeningDate.empty() or lastScreeningDate <= today()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CXCAD1 C 0..* Base CXCA.D1 — Cervical Cancer Screening Anamnesis
Constraints: cxca-d1-pregnant-needs-gestational-age, cxca-d1-hiv-positive-needs-art-status, cxca-d1-hysterectomy-needs-indication, cxca-d1-screening-date-not-future
... clientAge 1..1 integer Client's age in years on the encounter date
... clientEducation 0..1 string Client's highest level of education completed (free text in this iteration; may be coded against an ISCED valueset in a future iteration)
... numberOfPregnancies 0..1 integer Number of pregnancies (gravidity), regardless of outcome
... lastMenstrualPeriod 0..1 date First day of the client's most recent menstrual period. Drives sample-collection timing — per A/641 Op.Inst. 5.1 section 10, samples should not be collected during heavy menstrual flow.
... currentlyPregnant 0..1 boolean Whether the client is currently pregnant. Pregnant women in the first 3 months may be opportunistically included in screening per A/641 section 2.2.
... gestationalAgeWeeks 0..1 integer If currently pregnant, gestational age in weeks. Required if currentlyPregnant = true.
... currentContraception 0..1 string Description of the client's current contraception method (free text; will bind to a contraception-method valueset when smart-core's medicationstatement-current-contraceptive-methods profile is vendored)
... pastContraception 0..1 string Description of past contraception methods used (free text)
... ageAtFirstSexualContact 0..1 integer Client's age in years at first sexual contact. Risk factor — earlier age is associated with higher cervical cancer risk.
... ageAtFirstDelivery 0..1 integer Client's age in years at first delivery (if any). Risk factor.
... numberOfSexualPartners 0..1 integer Lifetime number of sexual partners. Risk factor.
... hasHadSTI 0..1 boolean Whether the client has had any sexually transmitted infection. Risk factor.
... hivStatus 0..1 Coding Client's HIV status. Bound to CXCA.D codes DE17 (HIV-positive), DE18 (HIV-negative), DE19 (HIV status unknown). Per WHO, WLHIV are 6× more likely to develop cervical cancer.
... currentlyOnART 0..1 boolean If HIV-positive, whether the client is currently on antiretroviral therapy. Required (per FHIRPath invariant) when hivStatus indicates HIV-positive.
... lastScreeningDate 0..1 date Date of the client's most recent prior cervical cancer screening, if any. Drives the recall-cycle / not-due-in-cycle decision.
... lastScreeningType 0..1 Coding Type of the most recent prior screening. Bound to CXCA.D codes DE23 (HPV), DE24 (cytology), DE25 (VIA).
... lastScreeningResult 0..1 Coding Result category of the most recent prior screening. Bound to CXCA.D codes DE26 (normal), DE27 (abnormal), DE28 (unknown).
... hadHysterectomy 0..1 boolean Whether the client has had a hysterectomy. Drives the eligibility-exclusion check per A/641 section 2.2.
... hysterectomyForCervicalCancer 0..1 boolean If hadHysterectomy = true, whether the indication was cervical cancer (in which case the screening exclusion does NOT apply per A/641 section 2.2). Required when hadHysterectomy = true.
... smokingStatus 0..1 Coding Client's smoking status. Bound to CXCA.D codes DE20 (current), DE21 (former), DE22 (never).
... alcoholUse 0..1 boolean Whether the client consumes alcohol regularly. Documented as a risk factor per A/641 section 1.3.2.
... hasPostcoitalBleeding 0..1 boolean Whether the client reports bleeding after intercourse. May indicate cervical pathology — flag for clinician attention.
... hasIntermenstrualBleeding 0..1 boolean Whether the client reports bleeding between menstrual periods. May indicate cervical pathology.
... hasUnusualDischarge 0..1 boolean Whether the client reports unusual vaginal discharge.

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
cxca-d1-hiv-positive-needs-art-status error CXCAD1 If hivStatus indicates HIV-positive (CXCA.D#DE17), currentlyOnART must be provided hivStatus.empty() or hivStatus.code != 'DE17' or currentlyOnART.exists()
cxca-d1-hysterectomy-needs-indication error CXCAD1 If hadHysterectomy = true, hysterectomyForCervicalCancer must be provided hadHysterectomy.empty() or hadHysterectomy = false or hysterectomyForCervicalCancer.exists()
cxca-d1-pregnant-needs-gestational-age error CXCAD1 If currentlyPregnant = true, gestationalAgeWeeks must be provided currentlyPregnant.empty() or currentlyPregnant = false or gestationalAgeWeeks.exists()
cxca-d1-screening-date-not-future error CXCAD1 Last screening date cannot be in the future lastScreeningDate.empty() or lastScreeningDate <= today()

This structure is derived from Base

Summary

Mandatory: 0 element(1 nested mandatory element)

 

Other representations of profile: CSV, Excel