Difference between revisions of "CDR User Manual"
Hanksterr7 (talk | contribs) |
Hanksterr7 (talk | contribs) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 60: | Line 60: | ||
::*The CDR module received an extensive code review in 7.0.2 patch 1 | ::*The CDR module received an extensive code review in 7.0.2 patch 1 | ||
::*Fixes / changes: | ::*Fixes / changes: | ||
:::*The "Yes" / "No" labels for the "Optional" buttons have been fixed to now indicate proper state. No change was required to existing rules | :::*The "Yes" / "No" labels for the "Optional" buttons have been fixed to now indicate proper state. No change was required to existing rules (this fix was not provided until 7.0.2 patch 2) | ||
:::*Divide by zero error when calculating percentages for reports has been fixed | :::*Divide by zero error when calculating percentages for reports has been fixed | ||
:::*Clinical Reminder Details page now shows proper rule status values and colors. Was previously showing only Not Due or Past Due | :::*Clinical Reminder Details page now shows proper rule status values and colors. Was previously showing only Not Due or Past Due | ||
Line 73: | Line 73: | ||
:::*This section clarifies how the Rules Engine evaluates patient data against Rule criteria | :::*This section clarifies how the Rules Engine evaluates patient data against Rule criteria | ||
:::*A rule has demographic filters. If these filters evaluate to true, the rule is "applicable" to a patient. If "applicable", the rule will have a status of "not due", "due soon", "due" or "past due". The rule shows in the Clinical Reminders widget in the patient dashboard if the rule is "applicable" and has a status other than "not due". The rule shows in the Clinical Reminders Detail page if it is "applicable" and has any status (including "not due") | :::*A rule has demographic filters. If these filters evaluate to true, the rule is "applicable" to a patient. If "applicable", the rule will have a status of "not due", "due soon", "due" or "past due". The rule shows in the Clinical Reminders widget in the patient dashboard if the rule is "applicable" and has a status other than "not due". The rule shows in the Clinical Reminders Detail page if it is "applicable" and has any status (including "not due") | ||
:::*A rule defines a warning interval, and a past due interval. A rule also has one or more targets, and each target defines a target interval. If multiple targets exist in a target/action block, the | :::*A rule defines a warning interval, and a past due interval. A rule also has one or more targets, and each target defines a target interval. If multiple targets exist in a target/action block, the smallest target value is used for all targets in the group | ||
:::*The warning, past due, and target intervals are used to create 3 target evaluation time periods (these intervals are not used in evaluating demographic filters): | :::*The warning, past due, and target intervals are used to create 3 target evaluation time periods (these intervals are not used in evaluating demographic filters): | ||
::::*A target is "not due" if the most recent instance of the target is between ("today" - "target interval" + "warning interval") and "today" | ::::*A target is "not due" if the most recent instance of the target is between ("today" - "target interval" + "warning interval") and "today" | ||
Line 83: | Line 83: | ||
::*If a rule has no demographic filters (inclusion or exclusion), the rule will be applicable to all patients | ::*If a rule has no demographic filters (inclusion or exclusion), the rule will be applicable to all patients | ||
::*If inclusion required filters exist and all evaluate to true, or if all are optional and at least one evaluates to true, or if there are no inclusion filters, processing continues to the exclusion filters. If all inclusion filters are optional and none evaluates to true, processing stops and the filter evaluates to false | ::*If inclusion required filters exist and all evaluate to true, or if all are optional and at least one evaluates to true, or if there are no inclusion filters, processing continues to the exclusion filters. If all inclusion filters are optional and none evaluates to true, processing stops and the filter evaluates to false | ||
::* | ::*If the exclusion filters do not succeed, the filter passes and the rule is applicable to the patient | ||
::*Inclusion filters are evaluated for these filter categories, and in this order: min age, max age, gender, "database" (i.e. | ::*Inclusion filters are evaluated for these filter categories, and in this order: min age, max age, sex/gender | ||
, "database" (i.e. data stored in custom table specified by rule builder, or in rule_patient_data table (keyed by category and item defined in admin | forms | lists, for Clinical Rule Action Category and Clinical Rule Action Item), or in history_data (for lifecycle data such as smoking status) ), "lists" (i.e. patient data stored in lists table: problems/diagnoses, meds, surgeries and allergies), and procedures | |||
::*Exclusion filters are evaluated for these filter categories, and in this order: "custom" | ::*Exclusion filters are evaluated for these filter categories, and in this order: "custom" | ||
::*Target criteria are analyzed similarly to demographic filter criteria, but look at these categories in this order: database, procedure, appointment. Note that in the target builder, the choices are lifestyle, custom table and custom. These are all processed in the "database" category. Note also, that for targets, all are considered inclusion. The inclusion/exclusion flag is ignored | |||
::*For rule demographic filters or targets of type "custom table", rule logic is expecting the "custom table" to have a "pid" field and a "date" field. If the table referenced by the "custom table" filter or target does not return these fields, one needs to create a sql view that returns these pid and date field names. Also, if the filter or target "custom table" is the table used by a "form", the logic gets more complicated. See https://community.open-emr.org/t/clinical-reminders-for-specific-encounter-type/22650 | |||
==Currently supported Standard Rule/Plan sets on installation== | ==Currently supported Standard Rule/Plan sets on installation== |
Latest revision as of 18:14, 5 November 2024
Overview
This is essentially an engine that allows incorporation of rule sets to check/monitor/report clinical information (such as vitals, history information, medications, procedures, labs, etc.) in real time. It has been built in a fashion to be very flexible and support internationalization.
Resources
File:Clinical Decision Rules Manual.pdf - PDF user guide written by Brad Gregg of www.mi-squared.com Last updated in version 4.1.1 so several items may be out of date.
Clinical Decision Support ('Clinical Reminders') widget
This widget can be found in the top right of the patient summary screen.
- This is where "Passive Alerts" are sent.
- Shows if an action is due soon, due now, or over due.
- Some actions offer a link (this then shows a screen where results can be stored). Note these are to store action results that are not found elsewhere in the OpenEMR database.
- 'Edit' button opens a screen:
- 'Main' tab shows all pertinent actions (whether completed or due).
- 'Plans' tab shows all pertinent actions (whether completed or due) organized by plan.
- 'Admin' tab allows per patient customization of the plans and rules.
The patient reminder ('Patient Reminders') widget
This widget can be found in bottom left (above vitals widget) of the patient summary screen.
- This is where "Patient Reminders" are sent
- Shows if a reminder action is due soon, due now, or over due; and shows if a reminder has been sent.
- 'Edit' button opens a screen:
- 'Main' tab provides more details on when reminder was created and sent (and which medium it was sent).
- 'Admin' tab allows per patient customization of the rules.
An active alert process
- This is where "Active Alerts" are utilized.
- Shows if an action is due soon, due now, or over due.
- Alert will show up in a modal every time a new patient record is accessed.
Reports
- Several reports for the clinical rules module are available:
- Reports->Clinic->Standard Measures
- Options for reporting clinic-wide standard rules results for active alerts, passive alerts, and patient reminders.
- Reports->Clinic->Quality Measures (CQM)
- Can produce PQRI (this is a way to show CQM results) formatted results.
- Options for reporting clinic-wide rules results for the Clinical Quality Measures(CQM).
- Reports->Clinic->Automated Measures (AMC)
- Options for reporting clinic-wide rules results for the Automated Measure Calculations(AMC).
- Reports->Clinic->Report Results
- Shows the results and status (complete, processing, etc.) of the above reports.
- This feature was added to OpenEMR 4.1.1 (patch 6).
- Administration->Config->CDR->CDR Reports Processing Priority
- The above reports are very computationally intensive, so can set the computational priority of these reports (for example, 'Lowest Priority' will not slow down the server nearly as much as 'Default Priority').
- This prioritization only works on Linux and OS-X (does not have any effect on Windows).
- This feature was added to OpenEMR 4.1.1 (patch 6).
Patient Reminder Admin page can be found at Administration->Patient Reminders
- Shows the active reminders.
- The batch to send the reminders to patients can be run from this script by clicking the Send Reminder Batch button(only works for email so far).
- Reports->Clinic->Report Results
- Shows the results and status (complete, processing, etc.) of the create/send reminders processes.
- This feature was added to OpenEMR 4.1.1 (patch 6).
- Administration->Config->CDR->Patient Reminder Creation Processing Priority
- The above reminders creation is very computationally intensive, so can set the computational priority of this (for example, 'Lowest Priority' will not slow down the server nearly as much as 'Default Priority').
- This prioritization only works on Linux and OS-X (does not have any effect on Windows).
- This feature was added to OpenEMR 4.1.1 (patch 6).
Rule alert settings Admin page can be found at Administration->Practice->Alerts
- Allows quick toggling of active/passive alerts and patient reminders for each rule.
The Clinical Decision Rules (CDR) editor GUI can be found at Administration->Practice->Rules.
- Full support to add and modify rules.
The clinical reminder and patient reminder feature(s) can be toggled off/on in the Administration->Config->CDR section.
CDR update in OpenEMR 7.0.2 patch 1
- The CDR module received an extensive code review in 7.0.2 patch 1
- Fixes / changes:
- The "Yes" / "No" labels for the "Optional" buttons have been fixed to now indicate proper state. No change was required to existing rules (this fix was not provided until 7.0.2 patch 2)
- Divide by zero error when calculating percentages for reports has been fixed
- Clinical Reminder Details page now shows proper rule status values and colors. Was previously showing only Not Due or Past Due
- Rule logic now properly handles "optional" demographic filters and targets (see below)
- Age and gender demographic filters now honor the "optional" flag value
- Rule logic now no longer compares demographic filters against target time intervals. Time-based demographic filters instead
now check for the existence of patient data looking back any time prior to the rule evaluation timestamp.
- Target evaluation logic has been fixed to no longer vary the right side of interval boundaries. The right side of interval boundaries is now the rule evaluation timestamp for all three intervals (not due, due soon and due)
- Rule logic now properly evaluates demographic filters that have a mix of inclusion and exclusion optional criteria
- Logic details:
- This section clarifies how the Rules Engine evaluates patient data against Rule criteria
- A rule has demographic filters. If these filters evaluate to true, the rule is "applicable" to a patient. If "applicable", the rule will have a status of "not due", "due soon", "due" or "past due". The rule shows in the Clinical Reminders widget in the patient dashboard if the rule is "applicable" and has a status other than "not due". The rule shows in the Clinical Reminders Detail page if it is "applicable" and has any status (including "not due")
- A rule defines a warning interval, and a past due interval. A rule also has one or more targets, and each target defines a target interval. If multiple targets exist in a target/action block, the smallest target value is used for all targets in the group
- The warning, past due, and target intervals are used to create 3 target evaluation time periods (these intervals are not used in evaluating demographic filters):
- A target is "not due" if the most recent instance of the target is between ("today" - "target interval" + "warning interval") and "today"
- A target is "due soon" if the most recent instance of the target is between ("today" - "target interval") and ("today" - "target interval" + "warning interval")
- A target is "due" if the most recent instance of the target is between ("today" - "target interval" - "past due interval") and ("today" - "target interval")
- A target is "past due" if no instance of the target is found, or if the most recent instance of the target is prior to ("today" - "target interval" - "past due interval")
- For example, suppose a rule defines a warning interval of 1 month, a past due interval of 2 months, and the rule target defines a target interval of 6 months. Then, the rule would be "not due" if the most recent instance of the target happened between 5 months ago and today, "due soon" if between 6 months ago and 5 months ago, "due" if between 8 months ago and 6 months ago, and "past due" of older than 8 months ago, or is not found.
- Demographic filter evaluation begins with inclusion criteria. If any inclusion criteria are required (i.e. optional: no) and evaluate to false, the filter is false and processing stops. Having a mix of optional and required inclusion filters makes no sense -- in this case, the optional ones would be ignored.
- If a rule has no demographic filters (inclusion or exclusion), the rule will be applicable to all patients
- If inclusion required filters exist and all evaluate to true, or if all are optional and at least one evaluates to true, or if there are no inclusion filters, processing continues to the exclusion filters. If all inclusion filters are optional and none evaluates to true, processing stops and the filter evaluates to false
- If the exclusion filters do not succeed, the filter passes and the rule is applicable to the patient
- Inclusion filters are evaluated for these filter categories, and in this order: min age, max age, sex/gender
, "database" (i.e. data stored in custom table specified by rule builder, or in rule_patient_data table (keyed by category and item defined in admin | forms | lists, for Clinical Rule Action Category and Clinical Rule Action Item), or in history_data (for lifecycle data such as smoking status) ), "lists" (i.e. patient data stored in lists table: problems/diagnoses, meds, surgeries and allergies), and procedures
- Exclusion filters are evaluated for these filter categories, and in this order: "custom"
- Target criteria are analyzed similarly to demographic filter criteria, but look at these categories in this order: database, procedure, appointment. Note that in the target builder, the choices are lifestyle, custom table and custom. These are all processed in the "database" category. Note also, that for targets, all are considered inclusion. The inclusion/exclusion flag is ignored
- For rule demographic filters or targets of type "custom table", rule logic is expecting the "custom table" to have a "pid" field and a "date" field. If the table referenced by the "custom table" filter or target does not return these fields, one needs to create a sql view that returns these pid and date field names. Also, if the filter or target "custom table" is the table used by a "form", the logic gets more complicated. See https://community.open-emr.org/t/clinical-reminders-for-specific-encounter-type/22650
Currently supported Standard Rule/Plan sets on installation
(note these can be fully modified and new ones can be added at Adminstration->Practice->Rules) (Citations)
- Plans
- Preventative Care
- Diabetes
- Rules
- Hypertension: Blood Pressure Measurement
- Every year
- clinical reminder
- Tobacco Use Assessment
- clinical reminder
- Tobacco Cessation Intervention
- Every year
- clinical reminder
- Adult Weight Screening and Follow-Up
- Age > 18
- clinical reminder
- Weight Assessment and Counseling for Children and Adolescents
- Age > 1 and < 19
- Every 3 years
- (Weight, BMI, weight counseling, nutrition counseling, exercise counseling)
- clinical reminder
- Influenza Immunization for Patients >= 50 Years Old
- Age > 50
- Yearly during flu season
- clinical reminder
- Pneumonia Vaccination Status for Older Adults
- Age > 65
- clinical reminder
- Diabetes: Hemoglobin A1C
- Every 3 months
- clinical reminder
- Diabetes: Urine Microalbumin
- Every year
- clinical reminder
- Diabetes: Eye Exam
- Every year
- clinical reminder
- Diabetes: Foot Exam
- Every year
- clinical reminder
- Cancer Screening: Mammogram
- Age > 40
- Every year
- clinical reminder
- Cancer Screening: Pap Smear
- Age > 18
- Every year
- clinical reminder
- Cancer Screening: Colon Cancer Screening
- Age > 50
- clinical reminder
- Cancer Screening: Prostate Cancer Screening
- Age > 50
- clinical reminder
- Coumadin Management - INR Monitoring
- If on coumadin/warfarin
- Every 3 weeks
- clinical reminder
Currently supported CQM Rule/Plan sets on installation:
- Plans
- PQRI Measure Groups
- Rules
- Clinical Quality Measures(CQM)
- Adult Weight Screening and Follow-Up (CQM) ( PQRI:128 NQF:0421 )
- Childhood immunization Status (CQM) ( NQF:0038 )
- Diabetes: HbA1c Poor Control (CQM) ( PQRI:1 NQF:0059 )
- Diabetes: LDL Management & Control (CQM) ( PQRI:2 NQF:0064 )
- Hypertension: Blood Pressure Measurement (CQM) ( NQF:0013 )
- Influenza Immunization for Patients >= 50 Years Old (CQM) ( PQRI:110 NQF:0041 )
- Pneumonia Vaccination Status for Older Adults (CQM) ( PQRI:111 NQF:0043 )
- Tobacco Use Assessment (CQM) ( NQF:0028a )
- Tobacco Cessation Intervention (CQM) ( NQF:0028b )
- Weight Assessment and Counseling for Children and Adolescents (CQM) ( NQF:0024 )
Supports Automated Measure Calculations(AMC) rules
AMC ONC certified calculations
The following measure calculations will be available in Release 7.0 for the CMS QPP Promoting Interoperability Program:
- Provide Patients Electronic Access to Their Health Information AMC:§170.315(g)(2) Required Test 2c
- Support Electronic Referral Loops by Sending Health Information (formerly Transitions of Care) AMC:§170.315(g)(2) Required Test 7
AMC 2011,2014 Stage 1 and Stage 2 calculations
The below measure calculations are available
- Maintain an up-to-date problem list of current and active diagnoses. ( AMC:170.302(c) )
- Maintain active medication list. ( AMC:170.302(d) )
- Maintain active medication allergy list. ( AMC:170.302(e) )
- Record and chart changes in vital signs. ( AMC:170.302(f) )
- Record smoking status for patients 13 years old or older. ( AMC:170.302(g) )
- Incorporate clinical lab-test results into certified EHR technology as structured data. ( AMC:170.302(h) )
- Need to manually enter the non-electronic labs in the report at Reports->Clinical->Automated Measures (AMC)
- The EP, eligible hospital or CAH who receives a patient from another setting of care or provider of care or believes an encounter is relevant should perform medication reconciliation. ( AMC:170.302(j) )
- Clickable entry placed in main encounter screen
- Use certified EHR technology to identify patient-specific education resources and provide those resources to the patient if appropriate. ( AMC:170.302(m) )
- Clickable entry placed in main encounter screen
- Use CPOE for medication orders directly entered by any licensed healthcare professional who can enter orders into the medical record per state, local and professional guidelines. ( AMC:170.304(a) )
- Generate and transmit permissible prescriptions electronically. ( AMC:170.304(b) )
- Clickable entry placed in prescription editing screen
- Record demographics. ( AMC:170.304(c) )
- Send reminders to patients per patient preference for preventive/follow up care. ( AMC:170.304(d) )
- Provide patients with an electronic copy of their health information (including diagnostic test results, problem list, medication lists, medication allergies), upon request. ( AMC:170.304(f) )
- The request can be submitted from the Patient/Client->Records->Patient Record Request page.
- The request can be tracked on the Reports->Clinic->AMC Tracking page.
- Provide patients with timely electronic access to their health information (including lab results, problem list, medication lists, medication allergies) within four business days of the information being available to the EP. ( AMC:170.304(g) )
- Note it relies on the existance of a patient portal
- New Patient Portal Authorization in the patient demographics->Choices section.
- New column in the patient_data table to hold the Patient Portal Authorization.
- Provide clinical summaries for patients for each office visit. ( AMC:170.304(h) )
- Clickable entry placed in main encounter screen
- Can be tracked at Reports->Clinic->AMC Tracking
- The EP, eligible hospital or CAH who transitions their patient to another setting of care or provider of care or refers their patient to another provider of care should provide summary of care record for each transition of care or referral. ( AMC:170.304(i) )
- Clickable entry placed in Patient Transactions
- Can be tracked at Reports->Clinic->AMC Tracking