(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:
- $HOME/.opencds/opencds.properties
- %HOME%\.opencds\opencds.properties on Windows (deployed as a user)
- C:\.opencds\opencds.properties (deployed as a Windows service)
- As specified as a server flag (see example configuration for details–TBD)
Configuration Overview
The current configuration requires understanding of the following folder hierarchy:
- conceptDeterminationMethods
- cdm.xml
- file containing concept mappings from local or standard terminologies to OpenCDS concepts (or concepts expected by the rules that have been developed).
- See ConceptDeterminationMethods
- cdm.xml
- executionEngines.xml
- file specifying the execution engines available to OpenCDS. The default execution engine is Drools 5.5.
- See ExecutionEngines
- knowledgeModules.xml
- .file containing knowledge module metadata.
- See KnowledgeModules.
- knowledgePackages
- Location of source (DRL) or binary package (PKG) exported from Guvnor.
- plugins
- Location of plugin configuration files.
- See PluginPackages or PluginPackage
- packages
- Location of plugin packages (jar files)
- semanticSignifiers.xml
- Used to define which semantic models (vMR, FHIR, etc.) are supported by the system.
- This file should not need to be modified except in certain cases.
- See SemanticSignifiers
- supportingData
- Location for supporting data metadata (configuration) files.
- See SupportingData
- packages
- Location of supporting data packages.
Concept Mappings
Concept mappings group ConceptDeterminationMethods with a Code System and the Codes within that Code System. 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> …
Supported Concepts
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 …
Knowledge Modules
<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.
Export/Import Process
The steps for importing a Knowledge Module into OpenCDS are as follows:
- If you are using new concepts, add them to the cdm.xml file (see Concept Mappings).
- New Knowledge Module
- Export the knowledge module from Guvnor and place the downloaded binary package into the knowledgePackages folder (see Configuration Overview). After building the package as is described here, download the binary and place it inside of knowledgeModules folder.
- Add an entry for the new knowledge module in knowledgeModules.xml (see Knowledge Modules).
- Replacing an Existing Knowledge Module
- Export the knowledge module from Guvnor and replace the existing module, ensuring the file name is consistent with the previous instance (see Configuration Overview).
- Restart OpenCDS or call the reload URL.