| CMS129FHIRProstCaBoneScanUse |
| 1.0.000 |
| CMS129FHIRProstCaBoneScanUse |
| Centers for Medicare & Medicaid Services (CMS) |
CMS129FHIRProstCaBoneScanUse
|
|
http://terminology.hl7.org/CodeSystem/library-type#logic-library
|
Type: Patient
Profile(s):
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient
|
Type: Observation
Profile(s):
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-clinical-result
Must Support Elements: code
Code Filter(s):
Path: code
Code(s):
SNOMED CT: 254292007 (Tumor staging (tumor staging))
|
Type: Observation
Profile(s):
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-clinical-result
Must Support Elements: code, effective, status, status.value
Code Filter(s):
Path: code
Code(s):
SNOMED CT: 254292007 (Tumor staging (tumor staging))
|
Type: Observation
Profile(s):
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-lab
Must Support Elements: code, effective, status, status.value
Code Filter(s):
Path: code
ValueSet: Prostate Specific Antigen Test
|
Type: Observation
Profile(s):
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-clinical-result
Must Support Elements: code, effective, status, status.value
Code Filter(s):
Path: code
Code(s):
LOINC: 35266-6 (Gleason score in Specimen Qualitative)
|
Type: Procedure
Profile(s):
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
Must Support Elements: code, performed, status, status.value
Code Filter(s):
Path: code
ValueSet: Prostate Cancer Treatment
|
Type: Observation
Profile(s):
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-clinical-result
Must Support Elements: code, effective, status, status.value
Code Filter(s):
Path: code
ValueSet: Bone Scan
|
Type: Condition
Profile(s):
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns
Must Support Elements: code
Code Filter(s):
Path: code
ValueSet: Pain Warranting Further Investigation for Prostate Cancer
|
Type: Condition
Profile(s):
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis
Must Support Elements: code
Code Filter(s):
Path: code
ValueSet: Pain Warranting Further Investigation for Prostate Cancer
|
Type: Procedure
Profile(s):
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
Must Support Elements: code, performed, status, status.value
Code Filter(s):
Path: code
ValueSet: Salvage Therapy
|
Type: Condition
Profile(s):
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns
Must Support Elements: code
Code Filter(s):
Path: code
ValueSet: Prostate Cancer
|
| Name |
Use |
Card. |
Type |
Documentation |
| Measurement Period |
In |
0..1 |
Period |
|
| Patient |
Out |
0..1 |
Resource |
|
| SDE Ethnicity |
Out |
0..1 |
Resource |
|
| SDE Payer |
Out |
0..* |
Resource |
|
| SDE Race |
Out |
0..1 |
Resource |
|
| SDE Sex |
Out |
0..1 |
Coding |
|
| Prostate Cancer Diagnosis |
Out |
0..* |
Resource |
|
| Initial Population |
Out |
0..1 |
boolean |
|
| First Prostate Cancer Treatment during day of Measurement Period |
Out |
0..1 |
Resource |
|
| Most Recent Prostate Cancer Staging Tumor Size T1a to T2a |
Out |
0..1 |
Resource |
|
| Most Recent PSA Test Result is Low |
Out |
0..1 |
boolean |
|
| Most Recent Gleason Score is Low |
Out |
0..1 |
boolean |
|
| Denominator |
Out |
0..1 |
boolean |
|
| Bone Scan Study Performed |
Out |
0..* |
Resource |
|
| Numerator |
Out |
0..1 |
boolean |
|
| Has Diagnosis of Pain related to Prostate Cancer |
Out |
0..1 |
boolean |
|
| Has Salvage Therapy Performed after Prostate Cancer Diagnosis |
Out |
0..1 |
boolean |
|
| Has Bone Scan Study Performed with Documented Reason |
Out |
0..1 |
boolean |
|
| Denominator Exceptions |
Out |
0..1 |
boolean |
|
|
library CMS129FHIRProstCaBoneScanUse version '1.0.000'
using QICore version '6.0.0'
include FHIRHelpers version '4.4.000' called FHIRHelpers
include SupplementalDataElements version '5.1.000' called SDE
include QICoreCommon version '4.0.000' called QICoreCommon
codesystem "LOINC": 'http://loinc.org'
codesystem "SNOMEDCT": 'http://snomed.info/sct'
codesystem "UCUM": 'http://unitsofmeasure.org'
valueset "Bone Scan": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.320'
valueset "Pain Warranting Further Investigation for Prostate Cancer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.451'
valueset "Prostate Cancer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319'
valueset "Prostate Cancer Treatment": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.398'
valueset "Prostate Specific Antigen Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.401'
valueset "Salvage Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.399'
code "American Joint Committee on Cancer cT1a (qualifier value)": '1228892002' from "SNOMEDCT" display 'American Joint Committee on Cancer cT1a (qualifier value)'
code "American Joint Committee on Cancer cT1b (qualifier value)": '1228895000' from "SNOMEDCT" display 'American Joint Committee on Cancer cT1b (qualifier value)'
code "American Joint Committee on Cancer cT1c (qualifier value)": '1228899006' from "SNOMEDCT" display 'American Joint Committee on Cancer cT1c (qualifier value)'
code "American Joint Committee on Cancer cT2a (qualifier value)": '1228931008' from "SNOMEDCT" display 'American Joint Committee on Cancer cT2a (qualifier value)'
code "Gleason score in Specimen Qualitative": '35266-6' from "LOINC" display 'Gleason score in Specimen Qualitative'
code "Procedure reason record (record artifact)": '433611000124109' from "SNOMEDCT" display 'Procedure reason record (record artifact)'
code "Tumor staging (tumor staging)": '254292007' from "SNOMEDCT" display 'Tumor staging (tumor staging)'
parameter "Measurement Period" Interval<DateTime>
default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)
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 "Initial Population":
exists "Prostate Cancer Diagnosis"
define "Denominator":
"Initial Population"
and "First Prostate Cancer Treatment during day of Measurement Period" is not null
and "Most Recent Prostate Cancer Staging Tumor Size T1a to T2a" is not null
and "Most Recent PSA Test Result is Low"
and "Most Recent Gleason Score is Low"
define "Numerator":
not exists "Bone Scan Study Performed"
define "Denominator Exceptions":
"Has Diagnosis of Pain related to Prostate Cancer"
or "Has Salvage Therapy Performed after Prostate Cancer Diagnosis"
or "Has Bone Scan Study Performed with Documented Reason"
define "Bone Scan Study Performed":
[ObservationClinicalResult: "Bone Scan"] BoneScan
with "Prostate Cancer Diagnosis" ActiveProstateCancer
such that BoneScan.effective.toInterval ( ) starts after start of ActiveProstateCancer.prevalenceInterval ( )
where BoneScan.effective.toInterval ( ) ends during day of "Measurement Period"
and BoneScan.status in { 'final', 'amended', 'corrected' }
define "Has Bone Scan Study Performed with Documented Reason":
exists "Bone Scan Study Performed" BoneScanAfterDiagnosis
where BoneScanAfterDiagnosis.value ~ "Procedure reason record (record artifact)"
define "Has Diagnosis of Pain related to Prostate Cancer":
exists ( ( [ConditionProblemsHealthConcerns: "Pain Warranting Further Investigation for Prostate Cancer"]
union [ConditionEncounterDiagnosis: "Pain Warranting Further Investigation for Prostate Cancer"] ) ProstateCancerPain
with "Prostate Cancer Diagnosis" ActiveProstateCancer
such that ProstateCancerPain.prevalenceInterval ( ) starts after start of ActiveProstateCancer.prevalenceInterval ( )
and ProstateCancerPain.isVerified ( )
)
define "First Prostate Cancer Treatment during day of Measurement Period":
First([Procedure: "Prostate Cancer Treatment"] ProstateCancerTreatment
where ProstateCancerTreatment.performed.toInterval() ends during day of "Measurement Period"
and ProstateCancerTreatment.status = 'completed'
sort by start of performed.toInterval()
)
define "Most Recent PSA Test Result is Low":
( Last([LaboratoryResultObservation: "Prostate Specific Antigen Test"] PSATest
with "Most Recent Prostate Cancer Staging Tumor Size T1a to T2a" MostRecentProstateCancerStaging
such that PSATest.effective.toInterval() starts before MostRecentProstateCancerStaging.effective.toInterval()
and PSATest.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval()
) ) LastPSATest
return LastPSATest.value as Quantity < 10 'ng/mL'
define "Has Salvage Therapy Performed after Prostate Cancer Diagnosis":
exists ( [Procedure: "Salvage Therapy"] SalvageTherapy
with "Prostate Cancer Diagnosis" ActiveProstateCancer
such that SalvageTherapy.performed.toInterval ( ) starts after start of ActiveProstateCancer.prevalenceInterval ( )
and SalvageTherapy.status = 'completed'
)
define "Most Recent Gleason Score is Low":
( Last([ObservationClinicalResult: "Gleason score in Specimen Qualitative"] GleasonScore
with "First Prostate Cancer Treatment during day of Measurement Period" FirstProstateCancerTreatment
such that GleasonScore.effective.toInterval() starts before start of FirstProstateCancerTreatment.performed.toInterval()
and GleasonScore.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval()
) ) LastGleasonScore
return LastGleasonScore.value as Integer <= 6
define "Most Recent Prostate Cancer Staging Tumor Size T1a to T2a":
( Last(([ObservationClinicalResult: "Tumor staging (tumor staging)"] TumorStaging
// TODO: determine feasibility of ObservationClinicalResult having basedOn reference to Condition
// where exists("Prostate Cancer Diagnosis" ActiveProstateCancer where TumorStaging.basedOn.references(ActiveProstateCancer))
) ProstateCancerStaging
with "First Prostate Cancer Treatment during day of Measurement Period" FirstProstateCancerTreatment
such that ProstateCancerStaging.effective.toInterval() starts before start of FirstProstateCancerTreatment.performed.toInterval()
and ProstateCancerStaging.status in { 'final', 'amended', 'corrected' }
sort by start of effective.toInterval()
) ) LastProstateCancerStaging
where ( LastProstateCancerStaging.value ~ "American Joint Committee on Cancer cT1a (qualifier value)"
or LastProstateCancerStaging.value ~ "American Joint Committee on Cancer cT1b (qualifier value)"
or LastProstateCancerStaging.value ~ "American Joint Committee on Cancer cT1c (qualifier value)"
or LastProstateCancerStaging.value ~ "American Joint Committee on Cancer cT2a (qualifier value)"
)
define "Prostate Cancer Diagnosis":
[ConditionProblemsHealthConcerns: "Prostate Cancer"] ProstateCancer
where ProstateCancer.prevalenceInterval ( ) overlaps day of "Measurement Period"
and ProstateCancer.isVerified ( )
/*
@note: When possible, this function should be migrated to QICoreCommon.
@description: Returns true if the given Condition has a verification status of "confirmed", "unconfirmed", "provisional", or "differential"
*/
define fluent function isVerified(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):
condition.verificationStatus is not null implies ( condition.verificationStatus ~ QICoreCommon."confirmed"
or condition.verificationStatus ~ QICoreCommon."unconfirmed"
or condition.verificationStatus ~ QICoreCommon."provisional"
or condition.verificationStatus ~ QICoreCommon."differential"
)
|
Encoded data
|
Encoded data
|
Description: Library FHIRHelpers
Resource: FHIRHelpers version: 4.4.000
Canonical URL: https://madie.cms.gov/Library/FHIRHelpers|4.4.000
|
Description: Library SDE
Resource: SupplementalDataElements version: 5.1.000
Canonical URL: https://madie.cms.gov/Library/SupplementalDataElements|5.1.000
|
Description: Library QICoreCommon
Resource: QICoreCommon version: 4.0.000
Canonical URL: https://madie.cms.gov/Library/QICoreCommon|4.0.000
|
Description: Code system LOINC
Resource: Logical Observation Identifiers, Names and Codes (LOINC)
Canonical URL: http://loinc.org
|
Description: Code system SNOMEDCT
Resource: SNOMED CT (all versions)
Canonical URL: http://snomed.info/sct
|
Description: Code system UCUM
Resource: Unified Code for Units of Measure (UCUM)
Canonical URL: http://unitsofmeasure.org
|
Description: Value set Bone Scan
Resource: Bone Scan
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.320
|
Description: Value set Pain Warranting Further Investigation for Prostate Cancer
Resource: Pain Warranting Further Investigation for Prostate Cancer
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.451
|
Description: Value set Prostate Cancer
Resource: Prostate Cancer
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.319
|
Description: Value set Prostate Cancer Treatment
Resource: Prostate Cancer Treatment
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.398
|
Description: Value set Prostate Specific Antigen Test
Resource: Prostate Specific Antigen Test
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.401
|
Description: Value set Salvage Therapy
Resource: Salvage Therapy
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.399
|