How to Run EHR Integration Pipelines with VPN Support
This guide provides instructions on how to run EHR integration pipelines using our Docker-based setup, with optional VPN support for accessing secure data sources.
Prerequisites
- Docker installed on your system
- Access to the ELT ingest pipelines repository
- VPN configuration and authentication details (if required)
Setup
- Clone the ELT ingest pipelines repository:
- Build the VPN-enabled Docker image:
Running Pipelines
With VPN Support
To run a pipeline with VPN support, you need to provide the VPN configuration and authentication as base64-encoded environment variables.
- Encode your VPN configuration and authentication:
- Run the pipeline with VPN support:
docker run -e VPN_CONFIG="base64_encoded_config" \
-e VPN_AUTH="base64_encoded_auth" \
elt-ingest-pipelines:vpn \
python /src/pipelines/product/medstreaming_sql_pipeline.py \
load-entire-database --tenant example --site example
Replace base64_encoded_config and base64_encoded_auth with your actual encoded VPN details.
Without VPN
To run a pipeline without VPN (for data sources that don't require it):
docker run elt-ingest-pipelines:vpn \
python /src/pipelines/product/medstreaming_sql_pipeline.py \
load-entire-database --tenant example --site example
Available Pipelines
Here are some of the available pipelines you can run:
- Load entire database:
python /src/pipelines/product/medstreaming_sql_pipeline.py load-entire-database --tenant TENANT --site SITE
- Load select tables:
Replace TENANT and SITE with appropriate values for your use case.
Troubleshooting
- If you encounter VPN connection issues, ensure that your VPN configuration and authentication details are correct and properly encoded.
- For pipeline-specific errors, refer to the error messages in the Docker logs and consult the pipeline documentation for more details.
Security Note
Always handle VPN configurations and authentication details securely. Avoid committing these details to version control or sharing them in plain text.
For more information on specific pipelines or advanced configuration options, please refer to the pipeline documentation or contact the data engineering team.