OpenCDS container

Note: The following steps were performed in an Ubuntu machine.

Deploy opencds container

The first step is to download the opencds code from https://bitbucket.org/opencds/opencds and obtain the opencds-decision-support-service.war and opencds-knowledge-repository-data.jar files

Build opencds-knowledge-repository-data
cd opencds/opencds/opencds-knowledge-repository-data/
mvn install

Rename the generated jar file for opencds-knowledge-repository-data.jar

Build opencds-decision-support.war
cd ..
cd opencds-decision-support-service/
mvn install -Dmaven.test.skip=true
Download opencds docker container:
git clone https://bitbucket.org/opencds/opencds-docker

Move opencds-knowledge-repository-data.jar and the opencds-decision-support-service.war file into opencds-docker folder.

opencds-docker folder should look like this:

../opencds-docker
├── Dockerfile
├── opencds-decision-support-service.war
├── opencds-knowledge-repository-data.jar
├── opencds.properties
├── readme.txt
├── run.sh
├── sec.xml
├── setenv.sh
└── tomcat-users.xml

Build the docker image, for example:
sudo docker build -t="opencds/opencds:ubuntu" .
Create container
sudo docker run -d -p 8080:8080 -p 8443:8443 -p 2222:22 --name opencds opencds/opencds:ubuntu

After the container has been created, the opencds service should be available on localhost:8080/opencds-decision-support-service

Update opencds-knowledge-repository-data

Connect to the opencds container using ssh.  I am using the application called gigolo, but you can use another application such as filezilla or use the command line.

Open gigolo and click on "connect". use the following settings:

server: localhost
port: 2222
user: root
password: screencast

Double click on the new connection and open the root folder where you will be able to see .opencds folder (configuration) and open-knowledge-repository-data.  

The following is the structure of open-knowledge-repository-data/resources  folder:

Resources folder
../resources_v1.3/
├── conceptDeterminationMethods
│   └── cdm.xml
├── executionEngines.xml
├── knowledgeModules.xml
├── knowledgePackages
│   ├── edu.utah^AHRQ_PSI_02^4.3.0.pkg
│   ├── edu.utah^AHRQ_PSI_02^4.3.1.pkg
│   ├── edu.utah.HEDIS.v2015_0.CAP.pkg
│   ├── edu.utah.HEDIS.v2015_0.CBP.pkg
 ...
├── plugins
│   ├── opencds-plugins.xml
│   └── packages
├── semanticSignifiers.xml
└── supportingData
    ├── concepts-supportingData.xml
    └── packages
        └── concepts.txt 

Basically, you have to manually place the pkg file that is generated by guvnor inside of the knowledgePackages folder and modify the knowledgeModules.xml accordingly.  After this you will need to restart opencds or call the reload URL.  Please see “Exporting a Knowledge Module to OpenCDS – File-Based” for more information.