FHIR ANT
Fast Healthcare Interoperability Resources — Agile Networking Tool
FHIR ANT is a complete FHIR R4 server that runs on your Android phone. It's built with Dart using the fhir_r4 package and designed for mobile-first deployments, testing, and low-resource healthcare settings.
What It Does
FHIR ANT turns your phone into a fully functional FHIR server. Other devices on the same network can connect to it using standard FHIR REST APIs — just like they would with any cloud-hosted FHIR server.
Use cases:
- Testing & development — Spin up a FHIR server instantly without cloud infrastructure
- Demonstrations — Show FHIR workflows at conferences, meetings, or training sessions
- Low-resource settings — Provide FHIR capabilities where internet connectivity is limited or unavailable
- Education — Learn FHIR by interacting with a real server on your own device
- Personal health data — Store your own health records locally with full privacy
Architecture
FHIR ANT is a monorepo with four packages:
fhirant/
└── packages/
├── fhirant/ # Flutter mobile app (Android)
├── fhirant_server/ # HTTP server (Shelf-based)
├── fhirant_db/ # Database (Drift/SQLite + SQLCipher)
└── fhirant_logging/ # JSON logging service
- fhirant_server handles routing, middleware, and all FHIR operations
- fhirant_db extends fhir_r4_db with server-specific tables (users, export jobs, authorization codes, revoked tokens)
- The server is pure Dart — it can also run as a CLI process on any platform
- The database is encrypted with SQLCipher; the encryption key is stored in the device's secure keystore
Quick Start
- Install the app on your Android device
- On first launch, walk through the onboarding screens
- Optionally load sample clinical data (MIMIC-IV subset)
- Tap Start to launch the server
- Note the URL shown on the Network Info card (e.g.,
http://192.168.1.42:8080) - From any device on the same network, try:
# Get the server's capabilities
curl http://192.168.1.42:8080/metadata
# Search for patients
curl http://192.168.1.42:8080/Patient
# Create a patient
curl -X POST http://192.168.1.42:8080/Patient \
-H "Content-Type: application/fhir+json" \
-d '{"resourceType":"Patient","name":[{"family":"Smith","given":["John"]}]}'
Dev Mode
By default, the app starts in Dev Mode — authentication is disabled, and all requests are accepted. This is ideal for testing and exploration. Toggle it off in the server control card to require JWT authentication.