(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:
The current configuration requires understanding of the following folder hierarchy:
The steps for importing a Knowledge Module into OpenCDS are as follows:
knowledgeModules
folder.knowledgeModules
folder.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:
conceptDeterminationMethod
is used to group conceptMapping
s into logical sets that can be combined with other conceptDeterminationMethod
s within the knowledge module configuration.toConcept
is the target concept that will be used by the knowledge module.fromConcepts
contains the list of local or standard concepts used in the data being sent to OpenCDS.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> … |
OpenCDS uses the knowledgeModules.xml
file to read to configure the knowledge module. Required and optional components are as follows:
identifier
- REQUIRED - the identifier will be used to load the knowledge module during the evaluation request, and is specified in the DSS message.executionEngine
- REQUIRED - the execution engine is the module that loads the knowledgeModule and processes the incoming data. This element references the execution engine specified in the executionEngines.xml
file.conceptDeterminationMethods
- REQUIRED - specifies which concept determination methods will be used to transform the incoming concepts to those that are used by the knowledge module (e.g., a local concept to an OpenCDS concept).primaryCDM
- REQUIRED - a knowledge module requires a primary concept determination methodsecondaryCDM
- OPTIONAL - any number of secondary concept determination methods may be specified; the method
attribute specifies the relationship of the secondary concepts to the primary concepts (ADDITIVE or REPLACEMENT).package
- REQUIRED - specifies the package to load for KM processingpackageType
- REQUIRED - the type of package to load; the default execution engine allows either DRL or PKG files.packageId
- REQUIRED - this is the name of the package file.preload
- REQUIRED true
- indicates the package will be loaded when the configuration is loaded (or reloaded)false
- indicates the package will be loaded when data are first sent to OpenCDSpreProcessPlugins
- OPTIONAL - specifies the plugins that will be used before the data are evaluated by the execution engine.postProcessPlugins
- OPTIONAL - specified the plugins that will be used after the data are evaluated by the execution engine.timestamp
- REQUIRED - used to indicate when the KM was added to the system (or modified)userId
- REQUIRED - the user who added or modified the KMAn 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.
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 … |