Home Applications fhir-craft

fhir-craft

InterSystems does not provide technical support for this project. Please contact its developer for the technical assistance.
5
1 reviews
2
Awards
198
Views
0
IPM installs
0
1
Details
Releases (1)
Reviews (1)
Awards (2)
Issues
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
Made with
Version
1.0.023 May, 2025
Ideas portal
Category
Integration
Works with
InterSystems IRIS for HealthInterSystems FHIR
First published
23 May, 2025
Last edited
23 May, 2025
Last checked by moderator
17 Oct, 2025Works