
FHIR integration projects succeed or fail based on seven design decisions made in the first month. Getting these wrong forces re-work; getting them right compounds throughout.
1. Integration surface: REST, Bulk, or both. REST for point-of-care; Bulk for analytics. Most deployments need both; verify vendor supports both cleanly.
2. Auth model: SMART launch, Backend Services, or custom. SMART covers most cases. Custom auth adds maintenance cost with no benefit for standard use.
3. Terminology scope: US Core baseline or expanded. US Core is the floor. Da Vinci profiles extend for payer/provider workflows; specific IGs for behavioral health, oncology, etc.
4. Versioning: R4, R4B, or R5. US Core references R4; new deployments should support R4B backport of Subscription-Topic. R5 is niche in 2026.
5. Data model: FHIR-native or FHIR-tolerant. Native uses FHIR as internal model. Tolerant maintains proprietary internal + FHIR facade. Native has lower long-term cost.
**6. Conformance testing: Inferno in CI or manual.** In-CI catches regressions early. Manual is what teams do when they didn't automate.
7. Terminology infrastructure: bundled, standalone, or managed. Bundled with FHIR server (HAPI, Aidbox) is simplest; standalone (Ontoserver) is more capable; managed is zero-ops but limited.
Rework cost when wrong
| Decision | Cost of getting wrong |
|---|---|
| Integration surface | 3-6 months of new API |
| Auth model | 4-8 months auth refactor |
| Terminology scope | 2-4 months profile alignment |
| Versioning | 6-12 months migration |
| Data model | 12-24 months re-architecture |
| Conformance testing | Slow trickle bugs |
| Terminology infrastructure | 3-6 months migration |
Seven decisions in month one shape the next three years. Invest the time to get them right.