You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 817bae8
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+26-28Lines changed: 26 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,32 +5,31 @@ OHDSI WebAPI contains all OHDSI RESTful services that can be called from OHDSI a
5
5
## Features
6
6
7
7
- Provides a centralized API for working with 1 or more databases converted to the [Common Data Model](https://github.com/OHDSI/CommonDataModel) (CDM) v5.
8
-
- Searching the OMOP standardized vocabularies for medical concepts and constructing concept sets.
9
-
- Defining cohort definitions for use in identifying patient populations.
10
-
- Characterizing cohorts
11
-
- Computing incidence rates
12
-
- Retrieve patient profiles
13
-
- Design population level estimation and patient level prediction studies
8
+
- Searches the OMOP standardized vocabularies for medical concepts and constructs concept sets.
9
+
- Defines cohort definitions for identifying patient populations.
10
+
- Characterizes cohorts.
11
+
- Computes incidence rates.
12
+
- Retrieves patient profiles.
14
13
15
14
## Technology
16
15
17
-
OHDSI WebAPI is a Java 8 web application that utilizes a PostgreSQL database for storage.
16
+
OHDSI WebAPI is a Java 21 web application that uses a PostgreSQL database for storage.
18
17
19
18
## API Documentation
20
19
21
20
The API Documentation is found at [http://webapidoc.ohdsi.org/](http://webapidoc.ohdsi.org/)
22
21
23
22
## System Requirements & Installation
24
23
25
-
Documentation can be found a the [Web API Installation Guide](https://github.com/OHDSI/WebAPI/wiki) which covers the system requirements and installation instructions.
24
+
Documentation is available in the [WebAPI Installation Guide](https://github.com/OHDSI/WebAPI/wiki), which covers system requirements and installation instructions.
26
25
27
26
## WebAPI Configuration in version 3.0
28
27
29
-
Application configuration has moved from a maven build-based pipeline (in version 2.x) to external configuration in WebAPI 3.0 (and using a new YAML format) as described in this[Atlas Sandbox project](https://github.com/OHDSI/AtlasWebAPISandbox/tree/main/ExternalConfig).
28
+
Application configuration moved from a Maven build-based pipeline in version 2.x to external YAML configuration in WebAPI 3.0, as described in the[Atlas Sandbox project](https://github.com/OHDSI/AtlasWebAPISandbox/tree/main/ExternalConfig).
30
29
31
-
### VS.Code Launch settings Example
30
+
### VSCode Launch Configuration Example
32
31
33
-
In VS Code, to launch the app using an external config, you can define a new launch settings in your local .vscode/launch.json file:
32
+
In VS Code, to launch the application using an external configuration file, define a new launch configuration in your local `.vscode/launch.json` file:
34
33
35
34
```
36
35
{
@@ -48,7 +47,7 @@ In VS Code, to launch the app using an external config, you can define a new lau
48
47
```
49
48
_Note the format of Windows paths in this example_
50
49
51
-
This will pass the necessary VM arg to load additional Spring configuration from the specified file. For example, for a local Postgres install with Windows Authentication enabled:
50
+
This passes the necessary VM argument to load additional Spring configuration from the specified file. For example, for a local PostgreSQL installation with Windows Authentication enabled:
-`security.auth.saml.callbackUrl=http://localhost:8080/WebAPI/user/saml/callback` - URL called from identity provider after login
127
126
128
-
Sample idp metadata and sp metadata config files for okta:
127
+
Sample IdP and SP metadata configuration files for Okta:
129
128
-`saml/dev/idp-metadata-okta.xml`
130
129
-`saml/dev/sp-metadata-okta.xml`
131
130
132
-
## Managing auth providers (Updated for v3.0)
131
+
## Managing Auth Providers (Updated for v3.0)
133
132
134
-
The following parameters are used to enable/disable certain provider:
133
+
The following parameters enable or disable authentication providers:
135
134
136
135
-`security.auth.ad.enabled`
137
136
-`security.auth.cas.enabled`
@@ -144,17 +143,17 @@ The following parameters are used to enable/disable certain provider:
144
143
-`security.auth.openid.enabled`
145
144
-`security.auth.windows.enabled`
146
145
147
-
Acceptable values are `true` and `false`
146
+
Acceptable values are `true` and `false`.
148
147
149
-
Default paramaters for each of these authentication providers are provided as an example in the embedded application.yaml file. All providers are disabled by default.
148
+
Default parameters for each authentication provider are provided as examples in the embedded `application.yaml` file. All providers are disabled by default.
150
149
151
150
## Geospatial support
152
151
153
152
Instructions can be found at [webapi-component-geospatial](https://github.com/OHDSI/webapi-component-geospatial)
154
153
155
154
## Testing
156
155
157
-
It was chosen to use embedded PG instead of H2 for unit tests since H2 doesn't support window functions, `md5` function, HEX to BIT conversion, `setval`, `set datestyle`, CTAS + CTE.
156
+
Embedded PostgreSQL is used instead of H2 for unit tests because H2 does not support window functions, the `md5` function, HEX-to-BIT conversion, `setval`, `set datestyle`, or CTAS with CTEs.
158
157
159
158
## Support
160
159
@@ -170,21 +169,20 @@ It was chosen to use embedded PG instead of H2 for unit tests since H2 doesn't s
170
169
171
170
### Development Quick Start Guide
172
171
173
-
To start the application locally, the following quick steps (all commands are executed from repository root directory)
172
+
To start the application locally, follow these steps. Run all commands from the repository root directory.
174
173
175
-
1. Ensure that you have the following tools installed: Java 1.8, maven (check via `mvn -v`), docker-ce (check via `docker -v`), psql command line client
176
-
(check via psql --version) or other tool that allows to connect to postgres DB.
174
+
1. Ensure that you have the following tools installed: JDK 21, Maven (check with `mvn -v`), Docker (check with `docker -v`), and the `psql` command-line client (check with `psql --version`) or another tool that can connect to a PostgreSQL database.
177
175
2. Run `mvn clean install` and make sure it completes successfully, resolve dependency issues if any.
178
176
3. Create a new database in docker: `docker create --name postgres-webapi -p 8432:5432 -e POSTGRES_PASSWORD=ohdsi postgres:15.0-alpine`.
179
177
4. Start DB container: `docker start postgres-webapi`.
180
-
Verify that you can connect via psql console (`PGPASSWORD='ohdsi' psql -d postgresql://localhost:8432/?user=postgres`).
181
-
5.If your default java version is too high (e.g. 17), set JAVA_HOME to point to 1.8 installaction, for example `export JAVA_HOME=/usr/lib/jvm/zulu8-ca-amd64`
8. Grant this newly created user admin privileges by running the following sql`INSERT INTO sec_user_role (user_id, role_id, origin) VALUES (1000, 2, 'SYSTEM');`
182
+
8. Grant this newly created user administrative privileges by running the following SQL:`INSERT INTO sec_user_role (user_id, role_id, origin) VALUES (1000, 2, 'SYSTEM');`
185
183
and log in again.
186
184
187
-
At this point you have the application running and admin account operational. To actually use it, additional steps are required to set up privileges
185
+
At this point, the application is running and an administrative account is operational. To use it, additional steps are required to set up privileges
188
186
and at least one CDM database. They are covered in the respective documentation sections.
0 commit comments