Introduction

This guide gives the basics for how to download and install Ponos. Ponos is a tool that can be used to create a demo instance of the CDM and to connect an existing instance of a CDM to OHDSI.

Download and Install Ponos

Ponos can be downloaded from https://github.com/NACHC-CAD/ponos. Click the “Latest” link under Releases and download the zip file found there (e.g. ponos-1.0.002.zip).


Download and extract the zip file. After unzipping the file, you should have a ponos folder with and auth sub-folder and a lib sub-folder. The lib sub-folders should contain the database drivers for Databricks and PostgreSql. The auth folder should contain a single file called app-databricks.properties file. The app-databricks.properties file contains only the fully qualified path to the actual properties file to be used by the application.


You will need your own properties file. Down load this databricks-public-demo.properties file as a starting point and modify to use your parameters. Modify the ponos/auth/app-databricks.properties file to point to the location of the properties file you intend to use (e.g. the databricks-public-demo.properties) we just downloaded. For this example, we’ve put the databricks-public-demo.properties file in the ponos directory and modified the auth/app-databricks.properties file accordingly.


Edit the auth/app-databricks.properties file to point to the configuration file you just created/edited. You can use an absolute path or a relative path from the directory where the jar file exists.

Our auth/app-databricks.properties file now looks like this:

D:\temp\ponos-1.0.002\ponos\databricks-public-demo.properties
The databricks-public-demo.properties file looks like this:
# ---
#
# DEMO
# This config file points to a temporary free Databricks instance created for this demo.  
#
# ---

# REST properties
RestUrl=https://dbc-9c1b9c59-a942.cloud.databricks.com//api/2.0
DatabricksUploadRoot=/FileStore/tables/prod
DatabricksFilesRoot=ohdsi/ponos/demo_cdm

# DB properties
JdbcUrl=jdbc:spark://dbc-9c1b9c59-a942.cloud.databricks.com:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/2010859959023967/0602-003109-756w8ulw;AuthMech=3;UID=token;PWD=
Token=dapi8ae48c35e859579a5531ff2005907544

# Schema properties
SchemaName=demo_cdm
VocabSchemaName=demo_cdm
AchillesTempSchemaName=demo_cdm_ach_tmp
AchillesResultsSchemaName=demo_cdm_ach_res

# WebApi properties 
WebApiJdbcUrl=jdbc:postgresql://localhost:5432/OHDSI?user=postgres&password=ohdsi¤tSchema=OHDSI
WebApiBootStrapJdbcUrl=jdbc:postgresql://localhost:5432/?user=postgres&password=ohdsi
WebApiDatabase=OHDSI
WebApiSchema=webapi
WebApiKey=DATABRICKS_PUBLIC_DEMO
WebApiName=Databricks Public Demo

# WebApi users properties
OhdsiAdminUserUid=ohdsi_admin_user
OhdsiAdminUserPwd=app1
OhdsiAdminUid=ohdsi_admin
OhdsiAdminPwd=app1
OhdsiAppUserUid=ohdsi_app_user
OhdsiAppUserPwd=app1
OhdsiAppUid=ohdsi_app
OhdsiAppPwd=app1

Run Ponos

To run the Ponos application execute the run-ponos.bat script from a cmd line. Executing Ponos without any parameters will list the current options.

View the Parameters of the Current Configuration

To check that you are using the parameters file you think you are using execute run-ponos.bat with the db-params option:
run-ponos.bat db-params


Output from run-ponos.bat db-params should look similar to the following:
D:\temp\ponos-1.0.002\ponos>run-ponos.bat db-params


# ----------------------------------------
#
# Running Ponos
#
# ----------------------------------------

2023-06-08 14:59:18,235 14:59:18.235 [main] INFO  (PonosMain.java:40) - Getting config file...
2023-06-08 14:59:18,238 14:59:18.238 [main] INFO  (DatabricksProperties.java:54) - ------------
2023-06-08 14:59:18,241 14:59:18.241 [main] INFO  (DatabricksProperties.java:55) - File: null
2023-06-08 14:59:18,243 14:59:18.243 [main] INFO  (DatabricksProperties.java:56) - Exists: false
2023-06-08 14:59:18,243 14:59:18.243 [main] INFO  (DatabricksProperties.java:57) - Could not load default properties.
2023-06-08 14:59:18,243 14:59:18.243 [main] INFO  (DatabricksProperties.java:58) - A properties file will need to be provided by the user.
2023-06-08 14:59:18,244 14:59:18.244 [main] INFO  (DatabricksProperties.java:59) - ------------
2023-06-08 14:59:18,244 14:59:18.244 [main] INFO  (DatabricksProperties.java:77) - SETTING PROPS FROM:
D:\temp\ponos-1.0.002\ponos\databricks-public-demo.properties
2023-06-08 14:59:18,245 14:59:18.245 [main] INFO  (PonosMain.java:45) - CONFIG FILE SUCCESSFULY SET
2023-06-08 14:59:18,245 14:59:18.245 [main] INFO  (TestDatabricksProperties.java:88) - Found pointer file: ./auth/app-databricks.properties
2023-06-08 14:59:18,245 14:59:18.245 [main] INFO  (TestDatabricksProperties.java:89) - Pointer file points to config file:
D:\temp\ponos-1.0.002\ponos\databricks-public-demo.properties
2023-06-08 14:59:18,254 14:59:18.254 [main] INFO  (TestDatabricksProperties.java:76) -

---------
Databricks Configuration:
Config File Name:   D:\temp\ponos-1.0.002\ponos\databricks-public-demo.properties
Config File Path:   D:\temp\ponos-1.0.002\ponos\databricks-public-demo.properties
Config File Exists: true
---------


2023-06-08 14:59:18,260 14:59:18.260 [main] INFO  (TestDatabricksProperties.java:109) -

---------------------------
START CONFIG FILE CONTENTS
---------------------------

# ---
#
# DEMO
# This config file points to a temporary free Databricks instance created for this demo.
#
# ---

# REST properties
RestUrl=https://dbc-9c1b9c59-a942.cloud.databricks.com//api/2.0
DatabricksUploadRoot=/FileStore/tables/prod
DatabricksFilesRoot=ohdsi/ponos/demo_cdm

# DB properties
JdbcUrl=jdbc:spark://dbc-9c1b9c59-a942.cloud.databricks.com:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/2010859959023967/0602-003109-756w8ulw;AuthMech=3;UID=token;PWD=
Token=dapi8ae48c35e859579a5531ff2005907544

# Schema properties
SchemaName=demo_cdm
VocabSchemaName=demo_cdm
AchillesTempSchemaName=demo_cdm_ach_tmp
AchillesResultsSchemaName=demo_cdm_ach_res

# WebApi properties
WebApiJdbcUrl=jdbc:postgresql://localhost:5432/OHDSI?user=postgres&password=ohdsi¤tSchema=OHDSI
WebApiBootStrapJdbcUrl=jdbc:postgresql://localhost:5432/?user=postgres&password=ohdsi
WebApiDatabase=OHDSI
WebApiSchema=webapi
WebApiKey=DATABRICKS_PUBLIC_DEMO
WebApiName=Databricks Public Demo

# WebApi users properties
OhdsiAdminUserUid=ohdsi_admin_user
OhdsiAdminUserPwd=app1
OhdsiAdminUid=ohdsi_admin
OhdsiAdminPwd=app1
OhdsiAppUserUid=ohdsi_app_user
OhdsiAppUserPwd=app1
OhdsiAppUid=ohdsi_app
OhdsiAppPwd=app1

---------------------------
END CONFIG FILE CONTENTS
---------------------------

2023-06-08 14:59:18,273 14:59:18.273 [main] INFO  (TestDatabricksProperties.java:127) - Config parameters:

---------------------------
START CONFIG VALUES
---------------------------
AchillesResultsSchemaName     demo_cdm_ach_res
AchillesTempSchemaName        demo_cdm_ach_tmp
DatabricksFilesRoot           ohdsi/ponos/demo_cdm
DatabricksUploadRoot          /FileStore/tables/prod
JdbcUrl                       jdbc:spark://dbc-9c1b9c59-a942.cloud.databricks.com:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/2010859959023967/0602-003109-756w8ulw;AuthMech=3;UID=token;PWD=
OhdsiAdminPwd                 app1
OhdsiAdminUid                 ohdsi_admin
OhdsiAdminUserPwd             app1
OhdsiAdminUserUid             ohdsi_admin_user
OhdsiAppPwd                   app1
OhdsiAppUid                   ohdsi_app
OhdsiAppUserPwd               app1
OhdsiAppUserUid               ohdsi_app_user
RestUrl                       https://dbc-9c1b9c59-a942.cloud.databricks.com//api/2.0
SchemaName                    demo_cdm
Token                         dapi8ae48c35e859579a5531ff2005907544
VocabSchemaName               demo_cdm
WebApiBootStrapJdbcUrl        jdbc:postgresql://localhost:5432/?user=postgres&password=ohdsi
WebApiDatabase                OHDSI
WebApiJdbcUrl                 jdbc:postgresql://localhost:5432/OHDSI?user=postgres&password=ohdsi¤tSchema=OHDSI
WebApiKey                     DATABRICKS_PUBLIC_DEMO
WebApiName                    Databricks Public Demo
WebApiSchema                  webapi
---------------------------
END CONFIG VALUES
---------------------------


2023-06-08 14:59:18,274 14:59:18.274 [main] INFO  (PonosMain.java:35) - Done.


Done.



D:\temp\ponos-1.0.002\ponos>

Default Parameters

Ponos ships with a default parameters file and is configured to use this file by default. This is a configuration file for a Broadsea implementation and is included in the downloadable zip as ./auth/bs-databricks-public-demo.properties.

Common Tasks for Ponos

Use the parameters shown below to execute the common tasks Ponos is used for.