Hide
Proposed solution
This change will also apply to CMS66 and CMS90 as appropriate.
CMS56//
CURRENT LOGIC:
define "Has THA with Initial and Follow Up HOOS Assessments"
exists ( ( "Total Hip Arthroplasty Procedure" THAProcedure
return Global."NormalizeInterval" ( THAProcedure.relevantDatetime, THAProcedure.relevantPeriod ) ) TotalHip
with "Time HOOS Total Assessment Completed" InitialHipAssessmentHOOS
such that TotalHip starts 90 days or less on or after InitialHipAssessmentHOOS
with "Time HOOS Total Assessment Completed" FollowUpHipAssessmentHOOS
such that FollowUpHipAssessmentHOOS during day of Interval[end of TotalHip + ... days, end of TotalHip + ... days])
define "Time HOOS Total Assessment Completed"
from
["Assessment, Performed": "Quality of life score [HOOS]"] HOOSLifeQuality,
["Assessment, Performed": "Sport-recreation score [HOOS]"] HOOSSport,
["Assessment, Performed": "Activities of daily living score [HOOS]"] HOOSActivityScore,
["Assessment, Performed": "Symptoms score [HOOS]"] HOOSSymptoms,
["Assessment, Performed": "Pain score [HOOS]"] HOOSPain
let HOOSLifeQualityTime: start of Global."NormalizeInterval" ( HOOSLifeQuality.relevantDatetime, HOOSLifeQuality.relevantPeriod ),
HOOSSportTime: start of Global."NormalizeInterval" ( HOOSSport.relevantDatetime, HOOSSport.relevantPeriod ),
HOOSActivityScoreTime: start of Global."NormalizeInterval" ( HOOSActivityScore.relevantDatetime, HOOSActivityScore.relevantPeriod ),
HOOSSymptomsTime: start of Global."NormalizeInterval" ( HOOSSymptoms.relevantDatetime, HOOSSymptoms.relevantPeriod ),
HOOSPainTime: start of Global."NormalizeInterval" ( HOOSPain.relevantDatetime, HOOSPain.relevantPeriod )
where HOOSLifeQualityTime same day as HOOSSportTime
and HOOSSport.result is not null
and HOOSLifeQualityTime same day as HOOSActivityScoreTime
and HOOSActivityScore.result is not null
and HOOSLifeQualityTime same day as HOOSSymptomsTime
and HOOSSymptoms.result is not null
and HOOSLifeQualityTime same day as HOOSPainTime
and HOOSPain.result is not null
and HOOSLifeQuality.result is not null
return Max({ HOOSLifeQualityTime, HOOSSportTime, HOOSActivityScoreTime, HOOSSymptomsTime, HOOSPainTime })
PROPOSED LOGIC:
define "Has THA with Initial and Follow Up HOOS Assessments":
exists ( ( "Total Hip Arthroplasty Procedure" THAProcedure
return Global."NormalizeInterval" ( THAProcedure.relevantDatetime, THAProcedure.relevantPeriod ) ) TotalHip
with "Time HOOS Total Assessment Completed" InitialHipAssessmentHOOS
such that TotalHip starts 90 days or less on or after day of InitialHipAssessmentHOOS
with "Time HOOS Total Assessment Completed" FollowUpHipAssessmentHOOS
such that date from FollowUpHipAssessmentHOOS during day of Interval[date from end of TotalHip + ... days, date from end of TotalHip + ... days] )
define "Time HOOS Total Assessment Completed"
from
["Assessment, Performed": "Quality of life score [HOOS]"] HOOSLifeQuality,
["Assessment, Performed": "Sport-recreation score [HOOS]"] HOOSSport,
["Assessment, Performed": "Activities of daily living score [HOOS]"] HOOSActivityScore,
["Assessment, Performed": "Symptoms score [HOOS]"] HOOSSymptoms,
["Assessment, Performed": "Pain score [HOOS]"] HOOSPain
let HOOSLifeQualityTime: date from start of Global."NormalizeInterval" ( HOOSLifeQuality.relevantDatetime, HOOSLifeQuality.relevantPeriod ),
HOOSSportTime: date from start of Global."NormalizeInterval" ( HOOSSport.relevantDatetime, HOOSSport.relevantPeriod ),
HOOSActivityScoreTime: date from start of Global."NormalizeInterval" ( HOOSActivityScore.relevantDatetime, HOOSActivityScore.relevantPeriod ),
HOOSSymptomsTime: date from start of Global."NormalizeInterval" ( HOOSSymptoms.relevantDatetime, HOOSSymptoms.relevantPeriod ),
HOOSPainTime: date from start of Global."NormalizeInterval" ( HOOSPain.relevantDatetime, HOOSPain.relevantPeriod )
where HOOSLifeQualityTime same day as HOOSSportTime
and HOOSSport.result is not null
and HOOSLifeQualityTime same day as HOOSActivityScoreTime
and HOOSActivityScore.result is not null
and HOOSLifeQualityTime same day as HOOSSymptomsTime
and HOOSSymptoms.result is not null
and HOOSLifeQualityTime same day as HOOSPainTime
and HOOSPain.result is not null
and HOOSLifeQuality.result is not null
return Max({ HOOSLifeQualityTime, HOOSSportTime, HOOSActivityScoreTime, HOOSSymptomsTime, HOOSPainTime })
List of definitions also impacted:
- Has THA with Initial and Follow Up HOOSJr Assessments
- Has THA with Initial and Follow Up PROMIS10 Assessments
- Has THA with Initial and Follow Up VR12 Oblique Assessments
- Has THA with Initial and Follow Up VR12 Orthogonal Assessments
- Time HOOSJr Total Assessment Completed
- Time PROMIS10 Total Assessment Completed
- Time VR12 Oblique Total Assessment Completed
- Time VR12 Orthogonal Total Assessment Completed
Rationale for change
This change would improve consistency of timing specificity across similar measures.
Show
Proposed solution
This change will also apply to CMS66 and CMS90 as appropriate.
CMS56//
CURRENT LOGIC:
define "Has THA with Initial and Follow Up HOOS Assessments"
exists ( ( "Total Hip Arthroplasty Procedure" THAProcedure
return Global."NormalizeInterval" ( THAProcedure.relevantDatetime, THAProcedure.relevantPeriod ) ) TotalHip
with "Time HOOS Total Assessment Completed" InitialHipAssessmentHOOS
such that TotalHip starts 90 days or less on or after InitialHipAssessmentHOOS
with "Time HOOS Total Assessment Completed" FollowUpHipAssessmentHOOS
such that FollowUpHipAssessmentHOOS during day of Interval[end of TotalHip + ... days, end of TotalHip + ... days])
define "Time HOOS Total Assessment Completed"
from
["Assessment, Performed": "Quality of life score [HOOS]"] HOOSLifeQuality,
["Assessment, Performed": "Sport-recreation score [HOOS]"] HOOSSport,
["Assessment, Performed": "Activities of daily living score [HOOS]"] HOOSActivityScore,
["Assessment, Performed": "Symptoms score [HOOS]"] HOOSSymptoms,
["Assessment, Performed": "Pain score [HOOS]"] HOOSPain
let HOOSLifeQualityTime: start of Global."NormalizeInterval" ( HOOSLifeQuality.relevantDatetime, HOOSLifeQuality.relevantPeriod ),
HOOSSportTime: start of Global."NormalizeInterval" ( HOOSSport.relevantDatetime, HOOSSport.relevantPeriod ),
HOOSActivityScoreTime: start of Global."NormalizeInterval" ( HOOSActivityScore.relevantDatetime, HOOSActivityScore.relevantPeriod ),
HOOSSymptomsTime: start of Global."NormalizeInterval" ( HOOSSymptoms.relevantDatetime, HOOSSymptoms.relevantPeriod ),
HOOSPainTime: start of Global."NormalizeInterval" ( HOOSPain.relevantDatetime, HOOSPain.relevantPeriod )
where HOOSLifeQualityTime same day as HOOSSportTime
and HOOSSport.result is not null
and HOOSLifeQualityTime same day as HOOSActivityScoreTime
and HOOSActivityScore.result is not null
and HOOSLifeQualityTime same day as HOOSSymptomsTime
and HOOSSymptoms.result is not null
and HOOSLifeQualityTime same day as HOOSPainTime
and HOOSPain.result is not null
and HOOSLifeQuality.result is not null
return Max({ HOOSLifeQualityTime, HOOSSportTime, HOOSActivityScoreTime, HOOSSymptomsTime, HOOSPainTime })
PROPOSED LOGIC:
define "Has THA with Initial and Follow Up HOOS Assessments":
exists ( ( "Total Hip Arthroplasty Procedure" THAProcedure
return Global."NormalizeInterval" ( THAProcedure.relevantDatetime, THAProcedure.relevantPeriod ) ) TotalHip
with "Time HOOS Total Assessment Completed" InitialHipAssessmentHOOS
such that TotalHip starts 90 days or less on or after day of InitialHipAssessmentHOOS
with "Time HOOS Total Assessment Completed" FollowUpHipAssessmentHOOS
such that date from FollowUpHipAssessmentHOOS during day of Interval[date from end of TotalHip + ... days, date from end of TotalHip + ... days] )
define "Time HOOS Total Assessment Completed"
from
["Assessment, Performed": "Quality of life score [HOOS]"] HOOSLifeQuality,
["Assessment, Performed": "Sport-recreation score [HOOS]"] HOOSSport,
["Assessment, Performed": "Activities of daily living score [HOOS]"] HOOSActivityScore,
["Assessment, Performed": "Symptoms score [HOOS]"] HOOSSymptoms,
["Assessment, Performed": "Pain score [HOOS]"] HOOSPain
let HOOSLifeQualityTime: date from start of Global."NormalizeInterval" ( HOOSLifeQuality.relevantDatetime, HOOSLifeQuality.relevantPeriod ),
HOOSSportTime: date from start of Global."NormalizeInterval" ( HOOSSport.relevantDatetime, HOOSSport.relevantPeriod ),
HOOSActivityScoreTime: date from start of Global."NormalizeInterval" ( HOOSActivityScore.relevantDatetime, HOOSActivityScore.relevantPeriod ),
HOOSSymptomsTime: date from start of Global."NormalizeInterval" ( HOOSSymptoms.relevantDatetime, HOOSSymptoms.relevantPeriod ),
HOOSPainTime: date from start of Global."NormalizeInterval" ( HOOSPain.relevantDatetime, HOOSPain.relevantPeriod )
where HOOSLifeQualityTime same day as HOOSSportTime
and HOOSSport.result is not null
and HOOSLifeQualityTime same day as HOOSActivityScoreTime
and HOOSActivityScore.result is not null
and HOOSLifeQualityTime same day as HOOSSymptomsTime
and HOOSSymptoms.result is not null
and HOOSLifeQualityTime same day as HOOSPainTime
and HOOSPain.result is not null
and HOOSLifeQuality.result is not null
return Max({ HOOSLifeQualityTime, HOOSSportTime, HOOSActivityScoreTime, HOOSSymptomsTime, HOOSPainTime })
List of definitions also impacted:
- Has THA with Initial and Follow Up HOOSJr Assessments
- Has THA with Initial and Follow Up PROMIS10 Assessments
- Has THA with Initial and Follow Up VR12 Oblique Assessments
- Has THA with Initial and Follow Up VR12 Orthogonal Assessments
- Time HOOSJr Total Assessment Completed
- Time PROMIS10 Total Assessment Completed
- Time VR12 Oblique Total Assessment Completed
- Time VR12 Orthogonal Total Assessment Completed
Rationale for change
This change would improve consistency of timing specificity across similar measures.