ODK → FHIR via OpenFn
This recipe wires ODK Central submissions into the FHIR store using an OpenFn workflow and the ICR FHIR adaptor.
ODK Central ──OData──▶ OpenFn (fhir-icr adaptor) ──FHIR transaction──▶ FHIR store
The workflow has two steps:
- Fetch — the
odkadaptor pulls new submissions from ODK Central via OData, incrementally (acursoron__system/submissionDateso each run only fetches what's new). - Transform + load — the
@openfn/language-fhir-icradaptor turns each submission into ICR-profiled FHIR and upserts it into the store in one idempotent transaction.
The transform, credential, form-by-form mapping, worked workflow.json, and Lightning
deployment are documented in the dedicated adaptor section:
- FHIR-ICR adaptor — Overview — how it works + the ESPEN MDA form → FHIR mapping table.
- Setup & running — install, credential (GCP service
account), local run, and the full ODK → FHIR
workflow.json+ Lightning deploy. - Extending & adapting — add a form transform or target a different store/IG.