...
- $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)
Anchor |
---|
| ConfigurationOverview |
---|
| ConfigurationOverview |
---|
|
Configuration OverviewThe 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
- executionEngines.xml
- file specifying the execution engines available to OpenCDS. The default execution engine is Drools 5.5.
- See ExecutionEngines
- knowledgeModules.xml
- knowledgePackages
- Location of source (DRL) or binary package (PKG) exported from Guvnor.
- plugins
- 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.
Anchor |
---|
| ExportImportProcess |
---|
| ExportImportProcess |
---|
|
Export/Import ProcessAdd a New Knowledge ModuleThe steps for importing a Knowledge Module into OpenCDS are as follows:
- Add or update the concept mappings in the cdm.xml file (see Concept Mappings).
- 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. - Add an entry for the new knowledge module to the knowledgeModules.xml file (see Knowledge Modules).
- Add any Supporting Data configuration and files (see Supporting Data).
- Restart OpenCDS or call the reload URL.
Update 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). Place it into the
knowledgeModules
folder. - If necessary, update the entry for the knowledge module in the knowledgeModules.xml file (see Knowledge Modules).
- If necessary, add or update any Supporting Data configuration and files (see Supporting Data).
- Restart OpenCDS or call the reload URL.
Anchor |
---|
| ConceptMappings |
---|
| ConceptMappings |
---|
|
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 group ConceptDeterminationMethods with a Code System and the Codes within that Code System. The .
A description of the XML format is as follows:
- The
conceptDeterminationMethod
is used to group conceptMapping
s into logical sets that can be combined with other conceptDeterminationMethod
s within the knowledge module configuration. - The
toConcept
is the target concept that will be used by the knowledge module. - The
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:
Code Block |
---|
language | xml |
---|
title | Snippet from cdm.xml file |
---|
linenumbers | true |
---|
|
<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 point out to a concepts.txt file where the supported concepts are listed.
Code Block |
---|
language | xml |
---|
title | Example: concepts-supportingData.xml |
---|
linenumbers | true |
---|
|
<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> |
Code Block |
---|
language | xml |
---|
title | Example: concepts.txt |
---|
linenumbers | true |
---|
|
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
… |
...
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 OpenCDS
preProcessPlugins
- 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 KM
An example KM configuration is shown below:
Code Block |
---|
language | xml |
---|
title | Example: knowledgeModules.xml |
---|
linenumbers | true |
---|
|
<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:
...
- 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).
...
- Export the knowledge module from Guvnor and replace the existing module, ensuring the file name is consistent with the previous instance (see Configuration Overview).
...
Anchor |
---|
| SupportingData |
---|
| SupportingData |
---|
|
Supporting DataThe following example of concepts-supportingData.xml file point out to a concepts.txt file where the supported concepts are listed.
Code Block |
---|
language | xml |
---|
title | Example: concepts-supportingData.xml |
---|
linenumbers | true |
---|
|
<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> |
Code Block |
---|
language | xml |
---|
title | Example: concepts.txt |
---|
linenumbers | true |
---|
|
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
… |