Home Applications fhir-craft

fhir-craft

InterSystems does not provide technical support for this project. Please contact its developer for the technical assistance.
0
0 reviews
0
Awards
10
Views
0
IPM installs
0
0
Details
Releases (1)
Reviews
Issues
Articles (1)
Build your own FHIR resources with synthetic data

What's new in this version

Initial Release

FHIRCraft

🚀 What It Does

FHIRCraft is a flexible and rule-driven synthetic FHIR resource generator built on InterSystems IRIS for Health. It enables rapid creation of clinically realistic test data for interoperability validation, system integration, and QA environments — without relying on real patient information.

FHIRCraft takes a JSON-based configuration input and produces synthetic FHIR resources such as:

  • Patient (always generated)
  • Observation
  • Appointment
  • (Extendable to MedicationRequest, Condition, etc.)

Each resource is created based on specific rules defined by the user, including:

  • Number of resources per patient
  • Value and time distribution (normal, anomalous, past, future)
  • Automatic generation or reuse of linked Practitioner resources
  • Whether to add resources to a FHIR repository

You can use FHIRCraft to:

  • Generate standalone or bundle FHIR resources
  • Simulate real-world clinical flows
  • Populate FHIR servers with test data
  • Validate and stress test FHIR integrations

For more information, see How it works documentation.


🧰 Installation & Setup

To get started with FHIRCraft locally:

  1. Clone the repository:
git clone https://github.com/lauracysnet/fhir-craft.git
cd fhir-craft
  1. Launch the backend and frontend containers:
docker compose up --build

This will run:

  • The InterSystems IRIS for Health container with FHIRCraft backend.
  • A lightweight PHP + Bootstrap frontend for generating resources visually.
  1. Open your browser:

You can now configure synthetic data generation from the form and view generated FHIR resources in JSON format.

  1. Use a different FHIR server (optional):
    By default, FHIRCraft is configured to use the FHIR repository exposed by the local IRIS container.
    However, you can connect it to any FHIR R4-compliant server by modifying:
  • The FHIR endpoint URL in the FHIRRepo Business Operation.
  • The authentication in the operation’s REST adapter settings

This allows full flexibility to integrate with external platforms like HAPI FHIR, Azure Health Data Services, or other FHIR servers.


👀 See It in Action

Here’s a quick walkthrough of how FHIRCraft works from the web UI.

Demo

This demo shows:

  • Using the web UI to configure resource generation
  • Submitting the request to the backend via REST
  • Viewing the generated FHIR resources in structured JSON
  • Verifying the created resources directly in the FHIR repository using Postman

🧪 Try It with Postman

We provide a ready-to-use Postman collection (FHIRCraft.postman_collection.json) to test the FHIRCraft endpoint directly.

Steps:

  1. Import the collection into Postman.
  2. Update the password for the _SYSTEM user if needed.
  3. Use the POST Generate Resource request to try out synthetic resource generation and retrieval.
  4. Use the FHIRREPO folder requests to check FHIR repository content.

🧩 Example Input

FHIRCraft consumes a JSON configuration like the one below:

{
  "patients": 1,
  "useExisting": true,
  "addToRepo": false,
  "ageRange": [30, 60],
  "gender": "female",
  "resources": {
    "appointment": {
      "totalPerPatient": 1,
      "reasonCode": [
        "Routine annual check-up",
        "Post-operative follow-up",
        "Evaluation of influenza-like symptoms",
        "Mental health consultation"
      ],
      "timeDistribution": "future",
      "useExistingPractitioner": true
    },
    "observation": {
      "totalPerPatient": 1,
      "code": "15074-8",
      "system": "http://loinc.org",
      "description": "Glucose [Moles/volume] in Blood",
      "valueRange": [70, 99],
      "unit": "mg/dL",
      "timeDistribution": "past",
      "useExistingPractitioner": true
    }
  }
}

🛠️ Technology Stack

  • InterSystems IRIS for Health
  • FHIR R4 JSON standard
  • PHP + Bootstrap for optional web UI
  • Dockerized for portability
Version
1.0.023 May, 2025
Category
Integration
Works with
InterSystems IRIS for HealthInterSystems FHIR
First published
23 May, 2025
Last edited
23 May, 2025