A minimalistic FHIR server for resources as files
Project description
fhirsnake: turn static files to a FHIR server
What is it?
fhirsnake is a minimalistic FHIR server that serve yaml and json files as FHIR resources
How it works?
The server reads all yaml
and json
files from resources
directory.
Rsources directory should have subdirectories with names equal resource types:
resources/
├── Patient/
│ ├── example.yaml
│ ├── john-doe.json
│ └── patient3.yaml
├── Questionnaire/
│ ├── questionnaire1.yaml
│ ├── questionnaire2.yaml
│ └── questionnaire3.yaml
Supported operations
[!IMPORTANT] All created and updated resources persist in runtime only. All changes are vanished after service restart
- read, create and update operations are supported
- search - limied support without any search params
GET /$index
operation returns a map of all resources in format<resource_type>:<id>
How to use?
- Organize resources in a directory
- Adjust source destination in
Dockerfile.resources
if required - Option A: Run a container
docker run -p 8002:8000 -v ./resources:/app/resources bedasoftware/fhirsnake
- Option B: Build an image using the base image
docker build -t fhirsnake-resources:latest -f Dockerfile.resources . docker run -p 8000:8000 fhirsnake-resources
Contribution and feedback
Please, use Issues
Development
Format and fix with ruff
ruff format
ruff check . --fix
Issue new version - run semantic release locally
npx semantic-release --no-ci
Publish to pypi
poetry build
poetry publish