Initial Release
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
MedicationRequest
, Condition
, etc.)Each resource is created based on specific rules defined by the user, including:
Practitioner
resourcesYou can use FHIRCraft to:
For more information, see How it works documentation.
To get started with FHIRCraft locally:
git clone https://github.com/lauracysnet/fhir-craft.git
cd fhir-craft
docker compose up --build
This will run:
You can now configure synthetic data generation from the form and view generated FHIR resources in JSON format.
This allows full flexibility to integrate with external platforms like HAPI FHIR, Azure Health Data Services, or other FHIR servers.
Here’s a quick walkthrough of how FHIRCraft works from the web UI.
This demo shows:
We provide a ready-to-use Postman collection (FHIRCraft.postman_collection.json
) to test the FHIRCraft endpoint directly.
Steps:
_SYSTEM
user if needed.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
}
}
}