Achilles
Automated Characterization of Health Information at Large-scale Longitudinal Evidence Systems (ACHILLES) - descriptive statistics about a OMOP CDM v4/v5 database
Getting Started
(Please review the Achilles Wiki for specific details for Linux)
-
Make sure you have your data in the OMOP CDM v4/v5 format (v4 link http://omop.org/cdm v5 link:http://www.ohdsi.org/web/wiki/doku.php?id=documentation:cdm).
-
Make sure that you have Java installed. If you don't have Java already intalled on your computed (on most computers it already is installed), go to java.com to get the latest version. (If you have trouble building with rJava below, be sure on Windows that your Path variable includes the path to jvm.dll (Windows Button --> type "path" --> Edit Environmental Variables --> Edit PATH variable, add to end ;C:/Program Files/Java/jre/bin/server) or wherever it is on your system.)
-
in R, use the following commands to install Achilles:
install.packages("devtools")
library(devtools)
install_github("ohdsi/SqlRender")
install_github("ohdsi/DatabaseConnector")
install_github("ohdsi/Achilles")
- To run the Achilles analysis, use the following commands in R:
library(Achilles)
connectionDetails <- createConnectionDetails(dbms="sql server", server="server.com")
achillesResults <- achilles(connectionDetails, cdmDatabaseSchema="cdm4_inst",
resultsDatabaseSchema="results", sourceName="My Source Name",
cdmVersion = "cdm version", vocabDatabaseSchema="vocabulary")
"cdm4_inst" cdmDatabaseSchema parmater, "results" resultsDatabaseSchema parameter, and "vocabulary" vocabDatabaseSchema are the names of the schemas holding the CDM data, targeted for result writing, and holding the Vocabulary data respectively. See the DatabaseConnector package for details on settings the connection details for your database, for example by typing
?createConnectionDetails
Currently "sql server", "oracle", "postgresql", and "redshift" are supported as dbms. "cdmVersion" can be either 4 or 5.
- To use AchillesWeb to explore the Achilles statistics, you must first export the statistics to JSON files:
exportToJson(connectionDetails, cdmDatabaseSchema = "cdm4_inst", resultsDatabaseSchema = "results", outputPath = "c:/myPath/AchillesExport", cdmVersion = "cdm version", vocabDatabaseSchema = "vocabulary")
Getting Started with Docker
This is an alternative method for running Achilles that does not require R and Java installations, using a Docker container instead.
-
Install Docker and Docker Compose.
-
Clone this repository with git (
git clone https://github.com/OHDSI/Achilles.git
) and make it your working directory (cd Achilles
). -
Copy
env_vars.sample
toenv_vars
and fill in the variable definitions. TheACHILLES_DB_URI
should be formatted as<dbms>://<username>:<password>@<host>/<schema>
. -
Copy
docker-compose.yml.sample
todocker-compose.yml
and fill in the data output directory. -
Build the docker image with
docker-compose build
. -
Run Achilles in the background with
docker-compose run -d achilles
.
Alternatively, you can run it with one long command line, like in the following example:
docker run \
--rm \
--net=host \
-v "$(pwd)"/output:/opt/app/output \
-e ACHILLES_SOURCE=DEFAULT \
-e ACHILLES_DB_URI=postgresql://webapi:webapi@localhost:5432/ohdsi \
-e ACHILLES_CDM_SCHEMA=cdm5 \
-e ACHILLES_VOCAB_SCHEMA=cdm5 \
-e ACHILLES_RES_SCHEMA=webapi \
-e ACHILLES_CDM_VERSION=5 \
<image name>
License
Achilles is licensed under Apache License 2.0
Development
Achilles is being developed in R Studio.
Acknowledgements
- This project is supported in part through the National Science Foundation grant IIS 1251151.