Central conformance testing for FHIR against the Ethiopia Base IG (et.fhir.core). One HAPI server (storage + $validate engine), a gateway as the single entrypoint, an always-on conformance interceptor, and a Karate test harness.
/fhir/metadata
Interceptor /intercept
IGs loaded core · surveillance · hiv
Actor simulator →
core (ETBase) ↗
surveillance ↗
hiv ↗
test fixtures IG ↗
et.fhir.core (ETBase), et.fhir.surveillance, et.fhir.hiv — and more as Ethiopia publishes them. Loaded into HAPI; a resource's meta.profile picks which one it's validated against (hiv → surveillance → core).harness/run-tests.sh POSTs each fixture to $validate and asserts good→0 / bad→errors. Runs anywhere against any server: SHR_URL=https://sandbox.fhir.et/fhir ./run-tests.sh./intercept — every POST is validated against its ET profile, recorded, and forwarded. Verdicts feed the session dashboard + auditor. The interceptor is a Karate mock; the batch + auditor are Karate test runs.baseUrl.et.fhir.core) dev build the sandbox validates against.