The project provides a basic API and web interface to dynamically provide freshly initialized FHIR servers on individual ports.
Each FHIR container is loaded with sample data during the initialization.
- [Once] Install Docker (and join the docker group using
sudo usermod -aG docker $USER
), and install the following applications:curl
,jq
,python3
- [Once] Install the dependencies using
python3 -m venv env && source env/bin/activate && python3 -m pip install -r requirements.txt && deactivate
- [Once] Download the Bootstrap files using
cd fhir_manager/web && ./loadBootstrap.sh && cd ../..
- Optional: Open a new tmux session using
tmux new -s fhirmanager
- [Once] Enter the virtual env using
source env/bin/activate
- Launch the server as follows:
export PORT_RANGE=8100-9000
# The FHIR Manager runs on port 8000
./run_productive.sh
# OR use the DEBUG mode (runs on port 5000):
./run_debug.sh
- The web page should be available now.
Make sure that no firewall is blocking your access attempts.
Note: The FHIR resources from data/Patient.json
, data/Organization.json
and `data/Encounter.json`` are uploaded to the spawned container instances as initial data.
List all containers
./listSpawnedContainers.sh
Removing all dead containers
./purgeAllDeadContainers.sh
Removing ALL containers
./purgeAllSpawnedContainers.sh
The initial FHIR resources were taken from the FHIR server from the FHIR exercise. The resources were downloaded using the script ./dumpResources.sh
.
Since HAPI FHIR does not seem to assign resource type-specific ID values, the references from Encounter
are changed to potential ID values that are expected to be assigned by the newly spawned HAPI FHIR instances.