FHIR ServiceRequest for Order Entry: 4 Patterns EHR Vendors Ship

FHIR ServiceRequest for Order Entry: 4 Patterns EHR Vendors Ship

Diagram: FHIR ServiceRequest for Order Entry: 4 Patterns EHR Vendors Ship. Diagram illustrating the article's core structure and decision points.

Order entry in FHIR uses the ServiceRequest resource, not MedicationRequest (that's for meds). Four patterns cover how EHR vendors implement clinical order workflows in 2026.

Pattern 1: Single ServiceRequest per order. Simple lab orders and imaging orders map one-to-one with a single ServiceRequest. code identifies the test, subject is the Patient, requester is the Practitioner, occurrenceDateTime is scheduled or requested date.

Pattern 2: ServiceRequest with basedOn linkage for panels. A lab panel (CBC = several individual tests) can be modeled as one ServiceRequest with a code that references the panel, or as multiple ServiceRequests linked via basedOn to a parent. The US Core ServiceRequest profile covers either, but most EHRs settle on the parent-plus-children model for reporting cleanliness.

Pattern 3: PractitionerRole binding for cover coverage. The requester.reference should point at PractitionerRole, not Practitioner, when the ordering context matters (e.g., attending vs. resident, specialty department). PractitionerRole references let downstream systems reason about who ordered from what role.

Pattern 4: SupplyRequest for durable medical equipment. DME orders use SupplyRequest, not ServiceRequest. Same request-response pattern but with itemReference pointing at the equipment resource.

Vendor implementation quality (mid-2026)

System Panel modeling PractitionerRole binding SupplyRequest support
Epic Parent-plus-children Yes Yes
Cerner Powerchart Parent-plus-children Yes Yes
Athenaclinicals Single-order Partial Add-on
InterSystems IRIS Both Yes Yes

Common integration mistakes.

- Modeling panels as one code without child ServiceRequests → reporting loses per-test granularity. - Binding requester to Practitioner instead of PractitionerRole → role-based access control breaks. - Using MedicationRequest for supply orders → downstream fill systems reject.

ServiceRequest is well-designed for clinical order entry, but the modeling choices upfront determine reporting granularity for years. Get the panel-vs-panel-child pattern locked in early.

Melina Delacroix

Health-tech product lead in Boulder. Tracks EMR development trends and modern EHR modernization stacks.