Uploaded image for project: 'eCQM Issue Tracker'
  1. eCQM Issue Tracker
  2. CQM-7066

Performance issues with CMS816

XMLWordPrintable

    • Icon: EH/CAH eCQMs EH/CAH eCQMs
    • Resolution: Answered
    • Icon: Moderate Moderate
    • None
    • None
    • Michael Pickens
    • 4106107904
    • Thank for your inquiry about CMS816v3 Severe Hypoglycemia. We will take your recommendation into consideration during our next measure update cycle.
    • CMS0816v3
    • Performance impact prevents measure from running for clients with a large number of glucose lab tests

      We are seeing issues with the performance of CMS816 due to data volumes at our clients.  In the "Low Glucose Test Followed By Glucose Test Result Greater Than 80" expression the related glucose labs are not limited in any way by the retrieve statement so every lab for the patient's history is being evaluated for the relationship.  What we are suggesting is to create separate definitions for the Hypoglycemic medications, initial glucose and follow-up glucose exam.  Within those definitions they are limited to the measurement period and in the case of the lab tests the result filter is  applied there.  This will reduce the volume of data the CQL query processor has to consider when evaluating the "Low Glucose Test Followed By Glucose Test Result Greater Than 80" expression.

      Suggested code follows:

      define "Blood Glucose Labs with result under 40":
        ["Laboratory Test, Performed": "Glucose lab test"] BloodGlucoseLab  
        where 
          BloodGlucoseLab.relevantDatetime ends during day of "Measurement Period"
          and BloodGlucoseLab.result < 40 'mg/dL'

      define function "Glucose Lab with result over 80":
        ["Laboratory Test, Performed": "Glucose lab test"] FollowupBloodGlucoseLab
        where FollowupBloodGlucoseLab.relevantDatetime ends during day of "Measurement Period"
          and FollowupBloodGlucoseLab.result > 80 'mg/dL'

      define function "Hypoglycemic Medications":
        "Hypoglycemic Medication Administration" HypoglycemicMeds
        where Global."NormalizeInterval" ( HypoglycemicMeds.relevantDatetime, HypoglycemicMeds.relevantPeriod ) starts during "Measurement Period"
        
      define "Low Glucose Test Followed By Glucose Test Result Greater Than 80":
        from
          "Denominator" QualifyingEncounter,
          "Glucose Test with Result Less Than 40" LowGlucoseTest,
          "Glucost Test with Result Over 80" FollowupGlucoseTest
          let GlucoseTestTime: Global."EarliestOf" ( LowGlucoseTest.relevantDatetime, LowGlucoseTest.relevantPeriod ),
          FollowupGlucoseTestTime: Global."EarliestOf" ( FollowupGlucoseTest.relevantDatetime, FollowupGlucoseTest.relevantPeriod )
          where FollowupGlucoseTestTime 5 minutes or less after GlucoseTestTime
            and GlucoseTestTime during Global."HospitalizationWithObservation" ( QualifyingEncounter )
            and FollowupGlucoseTestTime during Global."HospitalizationWithObservation" ( QualifyingEncounter )
            and FollowupGlucoseTest.id !~ LowGlucoseTest.id
          return LowGlucoseTest

            JLeflore Mathematica EH eCQM Team
            mpickens Michael Pickens
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              Solution Posted On: