Raxa EMR Decision Support Module
Decision Support Module Goals
Decision Support OpenMRS Module Architecture
Decision support should capture all REST calls and determine whether the input is valid. This can be done either:
- At the REST layer, scraping calls for all resources (Preferred)
- At the service layer, hooking into other service calls
- At the database layer as SQL constraints
Determine where the existing Logic Module and org.openmrs.arden syntax does its validation currently in OpenMRS. Use existing Clinical Decision Support System progress as a starting point:
https://modules.openmrs.org/modules/view.jsp?module=dss (works with OpenMRS 1.7.x as per http://listarchives.openmrs.org/Clinical-decision-support-td7356724.html)
https://wiki.openmrs.org/display/docs/Clinical+Decision+Support
Where Does the Arden Rule Run? – triggered by any user call.
Responses to an Arden Rule Invalidation
The alerts should be as in-obtrusive as possible and not interrupt patient flow (unless Arden finds the rule breaking to be very severe/life threatening). In general, the alerts should show up in a small corner in the Outpatient module rather than a popup that requires the provider to click 'OK'.
Types of alerts:
--Informative: most rule invalidations should send this alert back. Appears as a small text field
--Overrideable: a more serious rule break incurs overrideable. Requires click from doctor (should avoid this as much as possible)
--Stop: does not allow data to be saved in the database. Only for life threatening rule breaks (should avoid this nearly always)
Note that this can be implemented by alertType member in the RaxaAlert data model.
Example Cases that Require Decision Support
The system should deal correctly with the following cases:
Proposed Timeline
September 3: DSS module working in OpenMRS 1.7.x
September 10: have a working description of the work already done for Arden syntax and a plan for modifying existing code to our purposes
October 8: Arden is hooked into system at some level (database, service, or REST layer)
October 29: Can POST and GET Arden rules
November 12: Messages are sent back for the 3 example cases above
November 26: User is able to POST/GET Arden rules using front end ExtJS.
December 10: Responses to the 3 example cases above are implemented in Outpatient module. If Doctor clicks 'yes' to the suggestions, fields are automatically updated to new settings.