Predicate/Reducer Architecture

In the DS2 architecture, predicates and reducers run in a service called the “Predicate/Reducer.”  The Predicate/Reducer accepts a CCD and a Consent Directive: The CCD is the document that contains a patient’s clinical summary; and the Consent Directive is the document that specifies which types of data should be redacted.  After processing both documents, the Predicate/Reducer returns a modified CCD that has been acted on by the necessary predicates and reducers, and is appropriately redacted.  

The core of the Predicate/Reducer is powered by OpenCDS, open source clinical decision support software that implements a subset of the OMG/HL7 Clinical Decision Support Service (CDSS) standard and uses the Drools Rules Engine, a business-logic integration platform. A distinguishing feature of OpenCDS is its use of the HL7 Virtual Medical Record (vMR), a data model that is optimized for analysis in the clinical decision support context. 

 

 

The Predicate/Reducer workflow is illustrated above: The patient’s CCD is converted into a vMR, which is passed to the OpenCDS Predicate/Reducer.  The OpenCDS Predicate/Reducer then executes predicate rules and reducer rules within a Rules Engine architecture that connects the rules to:

  • The vMR data model, containing the patient’s clinical data; and
  • A Terminology Service

In the OpenCDS Predicate/Reducer, the predicate rules and reducer rules are executed; reducer rules insert “reducer tags” in the vMR; and these tags indicate the specific clinical entries in the vMR that would need to be redacted in order to satisfy one or more patient preferences.  Finally, the vMR’s reducer instructions are compared to the patient’s preferences from the CDA Consent Directive, and, if necessary, cross-referenced to the appropriate entries in the original CCD so that those entries can be redacted.