(Needs validation) 

 


 


Exporting a Knowledge Module to OpenCDS is currently a manual process.

The configuration location for OpenCDS is in a folder specified within the OpenCDS base properties file:

    1. $HOME/.opencds/opencds.properties
    2. %HOME%\.opencds\opencds.properties on Windows (deployed as a user)
    3. C:\.opencds\opencds.properties (deployed as a Windows service)
    4. As specified as a server flag (see example configuration for details–TBD)

Configuration Overview

The current configuration requires understanding of the following folder hierarchy:

Export/Import Process

Add a New Knowledge Module

The steps for importing a Knowledge Module into OpenCDS are as follows:

  1. Add or update the concept mappings in the cdm.xml file (see Concept Mappings).
  2. Export the knowledge module from Guvnor and place the downloaded binary package (or the DRL file, if using a single DRL) into the knowledgePackages folder (see Configuration Overview).  After building the package as is described here, download the binary (or DRL) and place it inside of knowledgeModules folder.
  3. Add an entry for the new knowledge module to the knowledgeModules.xml file (see Knowledge Modules).
  4. Add any Supporting Data configuration and files (see Supporting Data).
  5. Restart OpenCDS or call the reload URL.

Update an Existing Knowledge Module

  1. Export the knowledge module from Guvnor and replace the existing module, ensuring the file name is consistent with the previous instance (see Configuration Overview).  Place it into the knowledgeModules folder.
  2. If necessary, update the entry for the knowledge module in the knowledgeModules.xml file (see Knowledge Modules).
  3. If necessary, add or update any Supporting Data configuration and files (see Supporting Data).
  4. Restart OpenCDS or call the reload URL.

Concept Mappings

Concept mappings are specified in the cdm.xml file (other names may be used, as OpenCDS scans the conceptDeterminationMethods folder for concept mappings.

A description of the XML format is as follows:

The following is a snippet from an example cdm.xml file:

    <conceptDeterminationMethod code="C2511" displayName="HEDIS 2014" codeSystem="2.16.840.1.113883.3.795.12.1.1" version="1.0">
        <conceptMapping>
            <toConcept codeSystem="2.16.840.1.113883.3.795.12.1.1" codeSystemName="OPENCDS_CONCEPTS" code="C2787" displayName="HEDIS-Other Emphysema"/>
            <fromConcepts codeSystem="2.16.840.1.113883.6.103" codeSystemName="ICD9CM" displayName="Interstitial emphysema">
                <concept code="518.1" displayName="Interstitial emphysema"/>
                <concept code="518.2" displayName="Compensatory emphysema"/>
            </fromConcepts>
        </conceptMapping>
		…

Knowledge Modules

OpenCDS uses the knowledgeModules.xml file to read to configure the knowledge module.  Required and optional components are as follows:

An example KM configuration is shown below:

    <knowledgeModule>
        <identifier scopingEntityId="edu.utah" businessId="HEDIS_W34" version="2015.0.0" />
        <status>APPROVED</status>
        <executionEngine>Drools 5.5 Adapter</executionEngine>
        <semanticSignifierId scopingEntityId="org.opencds.vmr" businessId="VMR" version="1.0" />
        <conceptDeterminationMethods>
            <primaryCDM code="C3391" codeSystem="2.16.840.1.113883.3.795.12.1.1" displayName="HEDIS 2015" version="1.0" />
            <secondaryCDM code="C36" codeSystem="2.16.840.1.113883.3.795.12.1.1" displayName="OpenCDS" version="1.0" method="ADDITIVE" />
            <secondaryCDM code="C3414" codeSystem="2.16.840.1.113883.3.795.12.1.1" displayName="HEDIS UUHC" version="1.0" method="ADDITIVE"/>
            <secondaryCDM code="C3419" codeSystem="2.16.840.1.113883.3.795.12.1.1" displayName="HEDIS 2015 Medications" version="1.0" method="ADDITIVE"/>
        </conceptDeterminationMethods>
        <package>
            <packageType>PKG</packageType>
            <packageId>edu.utah.HEDIS.v2015_0.W34.pkg</packageId>
            <preload>true</preload>
        </package>
        <primaryProcess>PrimaryProcess</primaryProcess>
        <preProcessPlugins>
            <preProcessPlugin version="0.1" businessId="EncountersFromProblemAndProcedureConcepts" scopingEntityId="org.opencds.plugin" />
        </preProcessPlugins>
        <postProcessPlugins>
            <postProcessPlugin version="0.1" businessId="PrintObjects" scopingEntityId="org.opencds.plugin" />
        </postProcessPlugins>
        <timestamp>2014-10-16T07:42:09.815-06:00</timestamp>
        <userId>phillip</userId>
    </knowledgeModule>
	…
</ns2:knowledgeModules>

The knowledge module metadata is used by OpenCDS to determine which knowledge module will be used for processing the vMR input.

Supporting Data

The following example of concepts-supportingData.xml file point out to a concepts.txt file where the supported concepts are listed. 

<rest:supportingData xmlns:config="org.opencds.dss.config.v1_0" xmlns:rest="org.opencds.dss.config_rest.v1_0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="org.opencds.dss.config_rest.v1_0 ../schema/OpenCDSConfigRest.xsd ">
    <identifier>concepts</identifier>
    <package>
        <packageType>properties</packageType>
        <packageId>concepts.txt</packageId>
    </package>
    <loadedBy version="0.1" businessId="Assertions" scopingEntityId="org.opencds.plugin"/>
    <timestamp>2015-02-12T15:44:00</timestamp>
    <userId>Phillip</userId>
</rest:supportingData>
C2361=Injection
C238=Inpatient Encounter
C239=Emergency Department Encounter
C2504=something something something
C2556=Provider Eye Care Professional
C2557=Performer
C2559=Blood Pressure, Diastolic
C2560=Blood Pressure, Systolic
C257=Influenza Species
C258=Chlamydia Species
C259=Strep Pneumo Species
C260=Salmonella Species
C261=Influenza Test ForOrganism
C262=Influenza Test PosNeg
C2680=Comprehensive Well-Care
…