medOS ultra

FHIR R4 Integration

FHIR R4 read/write with subscription-based event delivery: read/write APIs, subscriptions, capability statement, transformers.

1 min read diagramsUpdated 2026-04-15docs-site/docs/integrations/fhir.md

FHIR R4 round-trip

flowchart LR
  APP["SMART app<br/>(external)"] -->|GET / POST /fhir| API["FHIR API<br/>(public-api)"]
  API --> SVC["clinical · administration"]
  SVC --> M[("MongoDB")]
  SVC -. Moleculer events .-> MATCH["fhir-subscription-matcher<br/>(Deno)"]
  MATCH -->|HMAC-signed Bundle| APP

medOS supports FHIR R4 read and write operations with subscription-based event delivery. FHIR is the standard for external healthcare exchange; SMART-on-FHIR apps talk to medOS through the public-api service.

Architecture

SMART App ──▶ FHIR Write API ──▶ Moleculer Services ──▶ MongoDB
  (external)    (public-api)      (clinical, admin)       │
       ▲                                            Moleculer events
       │                                                   │
       │         fhir-subscription-    hospital_events ◀───┘
       │         matcher (Deno)        (Supabase trigger)
       │              │
       └──────────────┘  (FHIR Bundle POST, HMAC signed)

Key components

File locations

Component Path
Read API services/public-api/.../modules/fhir/resources/
Write API services/public-api/.../modules/fhir/resources/fhir-write.controller.ts
Subscriptions (Supabase) infrastructure/medbase/migrations/021_fhir_subscriptions.sql
Subscription Matcher infrastructure/medbase/functions/fhir-subscription-matcher/index.ts
Webhook Dispatcher services/administration/.../webhookDispatcher.service.mixin.ts
CapabilityStatement services/public-api/.../modules/fhir/fhir-capability.controller.ts
Transformers services/public-api/.../modules/fhir/transformers/
Admin UI web/src/common/components/medical/builder/webhooks/FhirSubscription*.tsx
Bundle export web/src/utils/fhir-bundle-export.ts

Feature flags

Flag Default Purpose
fhir.write.enabled false Tenant kill switch for FHIR write-back
fhir.subscription.rate_limit 100 Max dispatches/min per subscription

Bundle export (HealthWallet / ExitPath)

web/src/utils/fhir-bundle-export.ts serialises an IPS-compliant FHIR R4 Bundle for patient handoff — used by the HealthWallet QR export and the ExitPath workflow.

Ask Anything