Skip to main content

A minimalistic FHIR server for resources as files

Project description

fhirsnake Image

fhirsnake: turn static files to a FHIR server

image

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?

  1. Organize resources in a directory
  2. Adjust source destination in Dockerfile.resources if required
  3. Option A: Run a container
    docker run -p 8002:8000 -v ./resources:/app/resources  bedasoftware/fhirsnake
    
  4. 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

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page