Key Components

Reference implementation of standard HL7/OMG Decision Support Service (DSS) interface

OpenCDS provides a reference implementation of the Decision Support Service (DSS) standards adopted by the Health Level 7 (HL7) and Object Management Group (OMG) standards development organizations.  The DSS standards specify a standard interface for providing clinical decision support as a software service, and is a part of a larger effort to standardize software service interfaces for health care known as the HL7-OMG Healthcare Services Specification Project (Ref: Kawamoto et al., JAMIA, 2009).  The HL7 standard is available here and the OMG standard is available here.  The development of the HL7/OMG DSS standards was led by Dr. Kensaku Kawamoto, MD, PhD, MHS who is the Founder of the OpenCDS project.

There are 3 major interfaces for the HL7/OMG DSS standard.  These interfaces are:

  • Evaluation: used to evaluate patient data using "knowledge modules" to generate patient-specific conclusions
  • Metadata Discovery:  used to identify metadata regarding the service and its knowledge modules
  • Query: used to query for knowledge modules of interest.

The software is written in Java, and uses all open-source components.

Reference Implementation of standard HL7 virtual medical record (vMR) data model

The Virtual Medical Record (vMR) is a standard HL7 data model optimized specifically for clinical decision support.  Dr. Kawamoto led the development of this standard.  The vMR is:

  • designed to be easy to understand and to use
  • standards-based, sharing common semantics with other HL7 standards such as the HL7 Continuity of Care Document (CCD) standard
  • extensible, supporting templated data structures
  • friendly to "inferencing engines" and other software designed to efficiently analyze large volumes of data

OpenCDS uses a flattened form of the vMR internally as its data model.  OpenCDS can also communicate with external systems using an XML form of the vMR.  More information on the HL7 vMR standard can be found here.

The OpenCDS team is also actively working on adding support for additional standards, such as the HL7 C-CDA and FHIR standards.

JBoss Drools

Drools is an open-source inferencing engine supported by JBoss which is widely used around the world.  It includes authoring and knowledge management tools at two levels:

  1. Web-based knowledge creation, testing, versioning and packaging using a built-in Drools tool named "Guvnor" ("KIE" in the latest version)
  2. Low-level technical rule creation and testing using the open-source Eclipse Integrated Development Environment (IDE) for Drools and Java

JBoss Drools and the Guvnor knowledge management tool are central components of OpenCDS.

JBoss jBPM

JBoss jBPM is an open-source business process management suite. OpenCDS uses JBoss jBPM to enable the use of flow diagrams to represent clinical decision logic.

Apelon DTS

The Distributed Terminology System (DTS) is an open-source and full-featured terminology support framework provided and serviced by Apelon.  It includes the ability to maintain the content of medical vocabularies, and to maintain the relationships and mappings from one vocabulary to another.  It can also be used to create and map local or proprietary vocabularies to the common and widely used standards, such as ICD9CM,SNOMED CT, LOINC, NDC, and RXNorm.  DTS can also be used to map broad "clinical concepts" such as "Diabetes Mellitus" to the sets of relevant codes and terms used in the standard vocabularies.

Drools DSL

Drools has the ability to create a “domain specific language” (DSL) for intuitive knowledge authoring.  We hide all of the technical details of knowledge authoring behind clinician-friendly interfaces using the OpenCDS DSL.  This allows the "clinical rule author" to develop rules by selecting components (that we provide) which describe the relevant clinical aspects in a common clinical language.  We also use drop-down list selection for the concepts based in standard vocabularies.

Data mappers

We are mapping structured data from standards such as CCD, CCR, CDAr2, and C32 into the vMR structure.

DSS “wrappers”

Wrapped Web services can also be created for other CDS engines.  The HL7 Infobutton standard uses this interface.  We have also produced OpenCDS wrappers for existing CDS systems, including a system known as SEBASTIAN previously developed by Dr. Kawamoto and several other CDS systems.