QDM to QI-Core Map - update and address notDoneReason timing

XMLWordPrintableJSON

    • Type: Change Request
    • Resolution: Persuasive with Modification
    • Priority: Medium
    • US QI Core (FHIR)
    • STU3
    • Clinical Quality Information
    • STU
    • QICore Observation [deprecated]
    • Hide

      Resolution:

      Persusasive with mod

      Create new profiles for notDone resources consistent with those QDM datatypes that use negation rationale in existing CMS program measures. The applicable QI-Core resources include: Observation, Procedure, ServiceRequest, Communication, Immunization, MedicationRequest, MedicationAdministration and MedicationDispensed.

      Although not included in existing eCQMs, there is justification for using DeviceRequest especially for use cases such as appropriate orders for non-implantable devices such as Continuous Positive Airway Pressure (CPAP) machines for a diagnosis of obstructive sleep apnea. The use case is already addressed in existing DaVinci examples: Templates and Rules (which references a sleep study procedure and a CPAP DeviceRequest), LookupServiceInitiative _ _ (referencing documentation requirements for CPAP use), and PayerCoverageDecisionExchangeUseCases _ _ (referencing CPAP machines and face masks as devices). Therefore, QI-Core should retain Device _ _ and DeviceRequest _ _and QI-Core should develop a profile for DeviceNotRequested consistent with the other QDM negation rationale concepts.

      Each profile to include the status, reason not done and timing.

      1) create* timing extensions* for Communication.recorded, Procedure.recorded, MedicationAdministration.recorded, MedicationDispense.recorded

      2) Create *extensions_ _ *for:

      ServiceRequest.extension:reasonRefused

      DeviceRequest.extension:reasonRefused

      3) Profiles - Observation *(ObservationNotDone) - *

        • status = final
        • notDoneReason = use a value set created from a combination of existing eCQM rationale value set (still extensible binding)

      _** _timing = Observation.issued

      4) Profile: Communication *(CommunicationNotDone) *

        • status = not-done
        • statusReason = use a value set created from a combination of existing eCQM rationale value set (still extensible binding)
        • timing = extension for Communication.recorded

      5) Profile: Procedure *(ProcedureNotDone) *

        • status = not-done
        • statusReason = use a value set created from a combination of existing eCQM rationale value set (still extensible binding)
        • timing = new extension for Procedure.recorded

      6) Profile: ServiceRequest *(ServiceNotRequested) *

        • status = completed (I.e., no further action will be taken for this request)
        • doNotPerform is true
        • extension for ServiceRequest.extension:reasonRefused - use a value set created from a combination of existing eCQM rationale value set (still extensible binding)
        • timing = ServiceRequest.authoredOn

      7) Profile: Immunization (ImmunizationNotDone)

        • status = not-done
          • statusReason* - use a _value set created from a combination of existing eCQM rationale value set (still extensible binding) _
        • timing = Immunization.recorded

      7) Profile MedicationRequest (MedicationNotRequested)

        • status ="completed"
        • doNotPerform is true
        • MedicationRequest.reasonCode = use a value set created from a combination of existing eCQM rationale value set (still extensible binding)
        • timing = MedicationRequest.authoredOn

      8) Profile: MedicationAdministration (MedicationAdministrationNotDone)

        • status = not-done
        • statusReason = use a value set created from a combination of existing eCQM rationale value set (still extensible binding)
        • timing = extension for MedicationAdministration.recorded

      9) Profile: MedicationDispensed ( MedicationDispensedNotDone:

        • status = declined
        • MedicationDispense.statusReason = use a value set created from a combination of existing eCQM rationale value set (still extensible binding)
        • timing = extension for MedicationDispense.recorded

      10) Profile DeviceRequest (DeviceNotRequested)

        • status ="completed"
        • doNotPerform is true
        • DeviceRequest.reasonCode = use a value set created from a combination of existing eCQM rationale value set (still extensible binding)
        • timing = DeviceRequest.authoredOn

      The following specific profiles inherited in QI-Core should use ObservationNotDone when referencing reasons they were not performed and using the specific code in the inherited profile to reference what observation did not occur: (FHIR Vital Signs Profile, US Core Smoking Status Profile, US Core Laboratory Result Profile, US Core Pediatric Bmi For Age Profile, US Core Pediatric Weight For Height Profile, US Core Pulse Oximetry Profile).

      Show
      Resolution: Persusasive with mod Create new profiles for notDone resources consistent with those QDM datatypes that use negation rationale in existing CMS program measures. The applicable QI-Core resources include: Observation, Procedure, ServiceRequest, Communication, Immunization, MedicationRequest, MedicationAdministration and MedicationDispensed. Although not included in existing eCQMs, there is justification for using DeviceRequest especially for use cases such as appropriate orders for non-implantable devices such as Continuous Positive Airway Pressure (CPAP) machines for a diagnosis of obstructive sleep apnea. The use case is already addressed in existing DaVinci examples: Templates and Rules (which references a sleep study procedure and a CPAP DeviceRequest), LookupServiceInitiative _ _ (referencing documentation requirements for CPAP use), and PayerCoverageDecisionExchangeUseCases _ _ (referencing CPAP machines and face masks as devices). Therefore, QI-Core should retain Device _ _ and DeviceRequest _ _and QI-Core should develop a profile for DeviceNotRequested consistent with the other QDM negation rationale concepts. Each profile to include the status, reason not done and timing. 1) create* timing extensions* for Communication.recorded, Procedure.recorded, MedicationAdministration.recorded, MedicationDispense.recorded 2) Create *extensions_ _ *for: ServiceRequest.extension:reasonRefused DeviceRequest.extension:reasonRefused 3) Profiles - Observation *(ObservationNotDone) - * Value set for negation:[ http://hl7.org/fhir/extension-valueset-reference.html |http://hl7.org/fhir/extension-valueset-reference.html] status = final notDoneReason = use a value set created from a combination of existing eCQM rationale value set (still extensible binding) _** _timing = Observation.issued 4) Profile: Communication *(CommunicationNotDone) * Value set for negation:[ http://hl7.org/fhir/extension-valueset-reference.html |http://hl7.org/fhir/extension-valueset-reference.html] status = not-done statusReason = use a value set created from a combination of existing eCQM rationale value set (still extensible binding) timing = extension for Communication.recorded 5) Profile: Procedure *(ProcedureNotDone) * Value set for negation:[ http://hl7.org/fhir/extension-valueset-reference.html |http://hl7.org/fhir/extension-valueset-reference.html] status = not-done statusReason = use a value set created from a combination of existing eCQM rationale value set (still extensible binding) timing = new extension for Procedure.recorded 6) Profile: ServiceRequest *(ServiceNotRequested) * Value set for negation:[ http://hl7.org/fhir/extension-valueset-reference.html |http://hl7.org/fhir/extension-valueset-reference.html] status = completed (I.e., no further action will be taken for this request) doNotPerform is true extension for ServiceRequest.extension:reasonRefused - use a value set created from a combination of existing eCQM rationale value set (still extensible binding) timing = ServiceRequest.authoredOn 7) Profile: Immunization (ImmunizationNotDone) Value set for negation:[ http://hl7.org/fhir/extension-valueset-reference.html |http://hl7.org/fhir/extension-valueset-reference.html] status = not-done statusReason* - use a _value set created from a combination of existing eCQM rationale value set (still extensible binding) _ timing = Immunization.recorded 7) Profile MedicationRequest (MedicationNotRequested) Value set for negation:[ http://hl7.org/fhir/extension-valueset-reference.html |http://hl7.org/fhir/extension-valueset-reference.html] status = "completed" doNotPerform is true MedicationRequest.reasonCode = use a value set created from a combination of existing eCQM rationale value set (still extensible binding) timing = MedicationRequest.authoredOn 8) Profile: MedicationAdministration (MedicationAdministrationNotDone) Value set for negation:[ http://hl7.org/fhir/extension-valueset-reference.html |http://hl7.org/fhir/extension-valueset-reference.html] status = not-done statusReason = use a value set created from a combination of existing eCQM rationale value set (still extensible binding) timing = extension for MedicationAdministration.recorded 9) Profile: MedicationDispensed ( MedicationDispensedNotDone : Value set for negation:[ http://hl7.org/fhir/extension-valueset-reference.html |http://hl7.org/fhir/extension-valueset-reference.html] status = declined MedicationDispense.statusReason = use a value set created from a combination of existing eCQM rationale value set (still extensible binding) timing = extension for MedicationDispense.recorded 10) Profile DeviceRequest (DeviceNotRequested) Value set for negation:[ http://hl7.org/fhir/extension-valueset-reference.html |http://hl7.org/fhir/extension-valueset-reference.html] status = "completed" doNotPerform is true DeviceRequest.reasonCode = use a value set created from a combination of existing eCQM rationale value set (still extensible binding) timing = DeviceRequest.authoredOn The following specific profiles inherited in QI-Core should use ObservationNotDone when referencing reasons they were not performed and using the specific code in the inherited profile to reference what observation did not occur: ( FHIR Vital Signs Profile , US Core Smoking Status Profile , US Core Laboratory Result Profile , US Core Pediatric Bmi For Age Profile , US Core Pediatric Weight For Height Profile , US Core Pulse Oximetry Profile ).
    • Rob Samples/Juliet Rubini: 23-0-2
    • Correction
    • Compatible, substantive

      Update QDM to QI-Core mapping table for Assessment, Performed to include correct links. Also, QI-Core Observation (used for Assessment, Performed) does not contain a method to specify timing for doNotPerformReason.

            Assignee:
            Unassigned
            Reporter:
            Floyd Eisenberg
            Floyd Eisenberg
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: