CDR Project QA Testing
CDR Project source location(s)
CDR QA Issues/Questions
Put your questions for clarification here.
CDR Bugs
Put any bugs you find here, there is a cut/paste simple "Bug Tracking" template here Bug Tracking Template
1. It is possible to create duplicate rule with the same name and add to the Rules list please see the attachment for more details.
- Not a big deal. Very low priority.
* No Warning message or Validations implemented while creating duplicate rules. * Go to Administration->Rules Click on <Add new> button Add a rule Named Rule 1 Add another rule named Rule 1 Review the rule list to verify a duplicate has been created Setup a reminder for both * March 15, 2011 * Who owns the fix action: Ram * Date Fixed * Where is the fix posted
2. It is possible to create duplicate rule filters with the same name for a given rule.
- Not a big deal. Very low priority.
* No Warning message or Validations implemented while creating duplicate rule filters. * Go to Administration->Rules Click on any rule Add multiple duplicate filters under the "Demographics filter criteria" section. * April 1, 2011 * Who owns the fix action: Ram/Tony * Date Fixed * Where is the fix posted
3. Broken sorting.
- Not a big deal. Very low priority.
* Go to Administration->Rules Click on asc/desc sorting for any columns. Doesn't sort. * Go to Administration->Patient Reminders Click on asc/desc sorting for any columns. Always sorts in asc. * April 1, 2011 * Who owns the fix action: Ram/Tony * Date Fixed * Where is the fix posted
CDR Official Branch
Official branch is maintained here
http://github.com/bradymiller/openemr/commits/rules_develop
Layperson (user) summary of official branch features
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.
- 1) Clinical Decision Support ('Clinical Reminders') widget can be found in the top right of the patient summary screen.
- 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.
- 2) The patient reminder ('Patient Reminders') widget can be found in bottom left (above vitals widget) of the patient summary screen.
- 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.
- 3) The reporting for the clinical rules module can be found at Reports->Clinic->Quality Measures.
- Lots of options for reporting clinic-wide rules results.
- Also place for creating the CQM and AMC results (note the AMC and CQM rules are still under development)
- Can also produce PQRI (this is a way to show CQM results) formatted results.
- 4) 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).
- 5) Rule alert settings Admin page can be found at Administration->Alerts.
- Allows quick toggling of active/passive alerts and patient reminders for each rule.
- 6) The Clinical Decision Rules (CDR) editor GUI can be found at Administration->Rules.
- Full support to add and modify rules.
- 7) The clinical reminder and patient reminder feature(s) can be toggled off/on in the Administration->Globals->CDR section.
- 8) Currently supported Rules/Plan sets:
- Plans
- Preventative Care
- Diabetes
- PQRI Measure Groups (pending)
- 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
- 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
- Clinical Quality Measures(CQM) (pending)
- Automated Measure Calculations(AMC) (pending)
Official Branch Commits
(in order of first to last)
Interim development of a clinical decision making engine. Engine depends on rules, filters, targets, and actions. Basically, if a patient fits in the filter, and the target(s) is false, then the action(s) happens. The current scheme allows one filter and multiple targets and actions per rule, is very flexible, and supports internationalization. Engine is used for clinical decision support, clinical quality measures (CQM) and patient reminders. FUNCTIONALITY: 1) Clinical Decision Support widget can be found in the top right of the patient summary screen. 2) Clinical Reminder widget can be found in bottom left (above vitals widget) of the patient summary screen. 3) Clinical Reminder page can be found at Administration->Patient Reminders. The batch to send the messages can be run from this script by clicking the Send REminder Batch button. 4) CQM report can be found at Reports->Clinic->Quality Measures. TODO: 1. Finish rules for the 10 CQM rules (will require algorithm adjustments to deal with the encounter types and frequencies that are used in the CQM rules). 2. Ensure NIST is accomplished for CQM and clinical decision support. 3. Get the email and voice patient reminder mechanisms to work (may ask Visolve to help with testing the modified mavix//voice email scripts). 4. Ensure NIST is accomplished for the patient reminders. 5. Add a admin gui to allow per patient customization (note the mechanism to do this already exist, so just need a simple gui for it) 6. Add mechanism to allow multiple filters per rule. 7. Add a admin gui to allow rule modification and creation of new rules. 8. Add a mechanism for plans.
Added functionality to check the lists (which contains medications, allergies, diagnoses, surgeries, etc.), which means NIST functionality is almost done for clinical reminders and clinical decisions (just need to add a laboratory check). Also need to do more testing of this feature.
Placed a medication filter (coumadin) and a procedure checking target in the procedure tables (INR). Done getting procedures checking algorithm in, however still need to test/debug (currently passes all procedure targets, so a mild error somewhere to work out) Will convert the database to same mechanism as procedure checking since it's much cleaner. (collect another comparison parameter)
The procedure mechanism for filters and targets is now in place and working. To demonstrate NIST, put a medication filter (coumadin) that then checks for a procedure target (INR lab) with an interval of every 3 weeks.
Clarified database filters/targets algorithm and data objects.
Incorporated a basic appointment reminder mechanism within rules engine. To be useful will need some fine tuning, though.
Removed a debugging comment.
Added support for the Automatic Measure Calculation MU item. Specifics: 1) Added support for the Automatic Measure Calculation MU item. -Added pertinent columns to the clinical_rules table. -Added mechanism to disallow patient specific customization in clinical_rules.php since these are standard rules. Also included the clinical quality measures in this mechanism. -Added a selector for this in the interface/reports/cqm.php report 2) Added some comments in sql/database.sql to clarify code. 3) Fixed some miscellaneous comment typos.
CDR module bug fix - user_settings label for patient_reminders_ps_expand fixed
Removed active column from clinical_rules table and: 1) Removed active column from clinical_rules table and algorithm in clinical_rules.php 2) To resolve_rules_sql function in clinical_rules.php added functionality to grab all per patient configurable (ie. not cmq or amc) rules for the admin gui.
Several addition to the rules internals: 1. Entered in skeleton rules for the Autmated Measure Calculations (AMC) 2. Commented the AMC and Clinical Quality Measures (QMC) rules in the database.sql files so others could follow the progress. (can be found in lines 3514-3635 of sql/database.sql file) (Note all teh QMC and AMC rules are just skeletons at this point and are NOT functional, but you can still look at the pretty report of them in Reports->Clinic->Quality Measures) 3. Plan to work on the QMC/AMC rules one by one and changing the rules internals as needed. This will not affect any of the stuff that others are working on (admin gui, per patient gui, messenging connectors, etc.)
Projects number 2 and 3 (per patient gui) of CDR module: 1) Patient Summary Screen Edit button of Clinical Reminder Widget. 2) Patient Summary Screen Edit button of Patient Reminder Widget. (in the Rules tab on this screen) Unable to use the planned mechanism of dropping patient specific clinical_rules entries when set to default, because then this would wipe out other per patient flags. So, instead create a persistent entry for the patient in clinical_rules, and use NULL in flags to signify that the default setting should be used rather than a patient specific setting. This should have no effects on the Major Admin GUI or other features. You will note the PAtient Summary Screen Clinical Reminder Widget Edit button goes to a screen with one tab on it (Rules). This screen will be future place to hold following tabs: Main - More details on active/inactive rules and most recent associated results. Plans - A future feature that will hold plan information (for exmaple aggregating all DM disease rules and results).
CDR Module CMQ PQRI database addition. Added a column in the clinical_rules table to hold the PQRI id number for CMQ (if it even exists). Also updated current CMQ entries to the PQRI id numbers.
CDR module: Clinical plans feature added and more... 1. Clinical plans feature was added. Database tables and code added. Can be found in Patient Summary screen Edit button for Clinical Reminders at the Plans tab (recommend giving your patient a diabetes diagnosis to get a clearer idea of what this does). Also note the plan data was added to support "Measure Groups" for the CQM/PQMI stuff. 2. Added a feature that shows pertinent clinical reminders that are not due. This is not shown on the clinical widget in the patient summary screen, but can be seen in the Edit button for Clinical Reminders at the Main tab (note the Plans tab also shows this). Both of the above features are useful, and are building blocks towards support of CQM/PQRI.
CDR module work on the CQM report requirements: 1) Added ability to report by plan. 2) Added ability to report by all providers in a cumulative and collated report. 3) Added ability to report pertinent clinician NPI numbers, clinician TIN numbers, measure group plan codes, rule codes (both PQRI and NQF) into the report (preparing for an xml out feature). 4) Added ability to record number of Exclusions in report. All of these features are in Reports=>Clinic=>Quality Measures. Now have the tools to build the xml report and to build the CQM rules.
CDR module feature add for the CQM report requirements: Added ability to nest providers within plans on the reporting. Feature can be found here at Reports=>Clinic=>Quality Measures with following settings: Rule Set: Show All Plan Set: Official CQM Measure Groups (or select 'Active Plans') Provider: All (Collated Format B)
CDR module to add per patient gui for plan: At patient summary screen for edit button of clinical reminders widget. Can set per patient plans off/on/default in Admin tab. These settings are used to create the plans output in the Plans tab of this same script.
CDR Module : Added feature for PQRI XML reports. 1) "Generate pqri report" button at "Reports->Clinic->Quality Measures" (note need to hit the Submit button to see it) 2) Added "Administration->Globals->PQRI Registry" tab to hold the registry name and id number.
CDR Module: Some fixes/improvements to PQRI reporting. 1) Clarified creation of pqri reports in Reports->Clinic-> Quality Measures --Generate PQRI report buttons --Method A is per rule (need to support this for MU) --Method B is per measure group (not fully supported yet, and probably not needed for MU)
Added the <encounter-from-date> and <encounter-to-date> tags to the PQRI XML.
CDR Module: Minor cosmetic fix in the patient summary screen. -Patient Reminder widget height is not fixed to a mininum height.
CDR Module: Fixed email reminders. 1. For now, generating message using action title and categories labels. 2. Showed authorization for Email and SMS in the reminders screens.
CDR Module: Added date completed validation to the custom data entry gui.
CDR Module: Administration GUI. --Can be found at Administration->Rules Authors: Aron Racho <aron@mi-squared.com> Ken Chapple <ken.chapple@gmail.com> rammohan <rammohan@ensoftek.com>
CDR Module: Administration screen that allows quick toggling of rules. -Can be found at Administration->Alerts
CDR Module: Bug Fixes. - Allow listing of rules that are not activated - Fix Adminstration->Rules browse screen to collect rules and rules titles correctly, and to only show Reminder as a type for now.
CDR Module: Admin GUI fix of reminder interval field validations.
CDR Module: Bug Fixes -Ensure rules are editable even if without a type setting. -Removed a erroneous htmlspcialchars call.
CDR Module: GUI Admin fixes when using list_options table
CDR Module: Fixed broken headers in Admin GUI. No longer require output buffering.
CDR Module: Created a mechanism for building CQM/AMC rules sets. -Unlike the standard rules, these rules are hard-code in: library/classes/rulesets/ruleSet.class.php (This allows much more flexibility and is much more robust) -This will allow multiple developers to work on building the CQM/AMC rulesets simultaneously. -As an example coded the first cqm rule: Hypertension: Blood Pressure Measurement(NQF:0013)
CDR Module: Cleaned up some database.sql lines. Still TO DO before commit to sourceforge: 1) Optimize/finalize the standard rules. 2) Organize/standardize database 3) Create the sql upgrade code 4) Fix bugs in reports related to cqm/amc mechanism. 5) Ensure session restores in the admin gui. 6) Ensure simple bugs in admin gui are fixed.
CDR Module: Added CDR global options and secured the patient summary widgets with an acl. -CDR global options can be found at Adminsitraiton->Globals->CDR tab. -Both the Clinical Reminder and Patient Reminder widgets in the patient summary screen are protected by the patients->med aco.
CDR Module: Fix for CQM framework. - Fix to collect patient dob. - Clarified code in using of patient id. - Fix htn rule bug to search for vitals of each patient (rather than all)
CDR Module: Finalized the standard rule sets. TO DO before commit to sourceforge: 1) sql upgrade script 2) organize database.sql code 3) allow non-continuous group ids in engine 4) Ensure session restores in the admin gui. 5) Ensure simple bugs in admin gui are fixed. 6) Fix bugs in reports related to cqm/amc mechanism.
CDR Module: Finished organizing database.sql and upgrade sql script. TO DO before commit to sourceforge: 1) allow non-continuous group ids in engine 2) Ensure session restores in the admin gui. 3) Ensure simple bugs in admin gui are fixed. 4) Fix bugs in reports related to cqm/amc mechanism.
CDR Module: Incorporated restore session in admin gui scripts. TO DO before commit to sourceforge: 1) allow non-continuous group ids in engine 2) Fix bugs in reports related to cqm/amc mechanism.
CDR Module: Support non-continuous target/action group ids. TO DO before commit to sourceforge: - Fix some simple bugs (age,allergies,surgeries) in admin gui.
CDR Module: Ready for review by community.