Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update readme RS setup instructions #1689

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ This document provides instructions for setting up the environment, running the
- [Additional Standard Notices](#additional-standard-notices)
- [Troubleshooting](#troubleshooting)


## Requirements

Any distribution of the Java 17 JDK.
Expand Down Expand Up @@ -195,7 +194,6 @@ This will run the API for you, so no need to run it manually.
>
>**If you are already running the API, stop it before running the load tests or the cleanup steps won't work.**


The load tests will also spin up (and clean up) a local test DB on port 5434 that should not interfere with the local dev DB.

The `locustfile.py` that specifies the load test is located at
Expand Down Expand Up @@ -444,43 +442,45 @@ For Apple Silicon you will want to enable the Docker option for `Use Rosetta for
After enabling this option it is recommended that you delete all docker images and containers and rebuild them
with this option enabled.

1. Checkout `master` branch for `CDCgov/prime-reportstream`
1. Checkout `main` branch for `CDCgov/prime-reportstream`
2. Build RS (for more information please refer to the [ReportStream docs](https://github.com/CDCgov/prime-reportstream/blob/master/prime-router/docs/getting-started/README.md)):
- If building for the first time, run: `./cleanslate` in `prime-reportstream/prime-router`
- Otherwise run: `./gradlew clean package` in `prime-reportstream` root folder
- If attempting to access the metadata endpoint in RS add the variable `ETOR_TI_baseurl="http://host.docker.internal:8080"` to `prime-router/.vault/env/.env.local` file before building the container
- **Note**: if attempting to access the metadata endpoint in RS add the variable `ETOR_TI_baseurl="http://host.docker.internal:8080"` to `prime-router/.vault/env/.env.local` file before building the container
3. Run RS with `docker compose up -d`. You may also use `./gradlew quickRun`
4. Run the RS setup script in this repository: `/scripts/setup/setup-reportstream.sh`
- Before running the script, make sure to follow the instructions in [/scripts/README.md](/scripts/README.md)
- You can verify the script created vault secrets successfully by going to `http://localhost:8200/` in your browser, use the token in `prime-router/.vault/env/.env.local` to authenticate, and then go to `Secrets engines` > `secret/` to check the available secrets

#### Submit request to ReportStream

We have a `submit.sh` script that simplifies the process of preparing, sending and tracking messages in [scripts/](scripts/). Otherwise, you'll find instructions below on how to send messages using `curl`

##### Locally

###### Orders

To test sending from a simulated hospital:
To test sending a HL7 order from a simulated hospital:

```
curl --header 'Content-Type: application/hl7-v2' --header 'Client: flexion.simulated-hospital' --header 'Authorization: Bearer dummy_token' --data-binary '@/path/to/orm_message.hl7' 'http://localhost:7071/api/waters'
```

To test sending from TI:
To test sending a FHIR order from TI:

```
curl --header 'Content-Type: application/fhir+ndjson' --header 'Client: flexion.etor-service-sender' --header 'Authorization: Bearer dummy_token' --data-binary '@/path/to/oml_message.fhir' 'http://localhost:7071/api/waters'
```

###### Results

To test sending from a simulated lab:
To test sending an HL7 result from a simulated lab:

```
curl --header 'Content-Type: application/hl7-v2' --header 'Client: flexion.simulated-lab' --header 'Authorization: Bearer dummy_token' --data-binary '@/path/to/oru_message.hl7' 'http://localhost:7071/api/waters'
```

To test sending from TI:
To test sending a FHIR result from TI:

```
curl --header 'Content-Type: application/fhir+ndjson' --header 'Client: flexion.etor-service-sender' --header 'Authorization: Bearer dummy_token' --data-binary '@/path/to/oru_message.fhir' 'http://localhost:7071/api/waters'
Expand Down
Loading