cda2vmr container

Steps required to build cda2vmr docker image:

Download opencds-cdstovmr-docker

git clone https://bitbucket.org/opencds/opencds-cdstovmr-docker

Install Mercurial

In order to build this image you will need cda-ws-ear.ear and cda-ws-web.war files.  These files can be obtained by cloning and building the cda-web-service project.  First you need to install Mercurial (https://mercurial.selenic.com/) which is the control management tool used in this project.

sudo apt-get install mercurial

Clone and build cda-web-service project

hg clone https://bitbucket.org/sharps-ds2/cda-web-service
cd cda-web-service; mvn clean install 

Copy cda-ws-web.war and cda-ws-ear.ear into docker folder

cp cda-web-service/cda-ws-ear/target/cda-ws-ear.ear opencds-cdstovmr-docker/
cp cda-web-service/cda-ws-webapp/target/cda-ws-web.war opencds-cdstovmr-docker/

Download terminology files and place them into docker folder

Also you need the following terminology resources.  Place these five files into opencds-cdstovmr-docker folder.

From http://www.nlm.nih.gov/research/umls/

  • ICD9CM_SNOMED_MAP_1TO1.txt

  • ICD9CM_SNOMED_MAP_1TOM.txt

  • SNOMEDCT_CORE_SUBSET_201311.txt

  • tls_Icd10HumanReadableMap_INT_20131220.tsv

From  http://www.hcup-us.ahrq.gov/toolssoftware/icd_10/ccs_icd10_2006.zip

  • ccs_icd10_2006.csv

Check the content of opencds-cdstovmr-docker folder

The opencds-cdatovmr-docker folder should look like this:

opencds-cdstovmr-docker/
├── ccs_icd10_2006.csv
├── cda-ws-ear.ear
├── cda-ws-web.war
├── change_admin_password_func.sh
├── change_admin_password.sh
├── Dockerfile
├── ejb-jar.xml
├── enable_secure_admin.sh
├── ICD9CM_SNOMED_MAP_1TO1.txt
├── ICD9CM_SNOMED_MAP_1TOM.txt
├── log4j.properties
├── naivebayespredicate.properties
├── opencds_concept_generator.sh
├── opencds-decision-support-service-config.xml
├── readme.txt
├── reducer-env.properties
├── run.sh
├── SNOMEDCT_CORE_SUBSET_201311.txt
└── tls_Icd10HumanReadableMap_INT_20131220.tsv

Define the URL of the opencds instance on ejb-jar.xml

Before build the image, edit the ejb-jar.xml file and define the URL of the OpenCDS service. 

Define the URL of your opencds service on ejb-jar.xml
        <session>
            <ejb-name>OpenCdsServiceMGR</ejb-name>
            <env-entry>
                <env-entry-name>OPENCDS_ENDPOINT</env-entry-name>
                <env-entry-type>java.lang.String</env-entry-type>
                <env-entry-value>http://192.168.1.101:8081/opencds-decision-support-service-1.2.0-SNAPSHOT/evaluate</env-entry-value>
            </env-entry> 

Build and deploy container

Build and deploy container
sudo docker build -t="opencds/cdatovmr" .
sudo docker run -p 8080:8080 -p 2222:22 -p 4848:4848 -p 8181:8181 -p 9009:9009 --name cdatovmr -i -t opencds/cdatovmr

Check applications

By default the image includes the following four applications:

Notes

It is important to note that you can remove any of these applications by commenting or removing the appropriate lines on the Dockerfile. 

References

https://sharps-ds2.atlassian.net/wiki/display/DS2/Projects