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'.
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.