FHIR R6 API Requests and Responses

Use the FHIR R6 ballot4 (6.0.0-ballot4) resource interactions and search parameters advertised by the deployed DDFS capability statement.

Confirm the Deployed R6 Capabilities

Call GET {base}/api/fhir/r6-ballot4/metadata. Use the returned CapabilityStatement as the authority for the deployed DDFS instance; do not infer R6 support from the R4 surface or from another environment.

Common Patterns

  • Search: GET /api/fhir/r6-ballot4/<Resource>?<query-parameters>
  • Create: POST /api/fhir/r6-ballot4/<Resource>
  • Read: GET /api/fhir/r6-ballot4/<Resource>/{rid}
  • Update: PUT /api/fhir/r6-ballot4/<Resource>/{rid}
  • Versioned read: GET /api/fhir/r6-ballot4/<Resource>/{rid}/_history/{vid}
  • Logical delete: DELETE /api/fhir/r6-ballot4/<Resource>/{rid}

A standard DELETE is a logical delete. POST /api/fhir/r6-ballot4/<Resource>/{rid}/$hardDelete permanently deletes one eligible logically deleted resource, while POST /api/fhir/r6-ballot4/<Resource>/$purgeDeleted permanently deletes eligible logically deleted resources selected by its inputs. Both administrative operations are irreversible and require additional authorization.

Search and Paging

Common advertised controls include _count, _total, _id, _lastUpdated, _profile, and _tag. Confirm each control on the target resource.

  • Treat _count as a requested maximum page size. A page can contain fewer entries.
  • Bundle.total is optional, including when a supported _total mode is requested.
  • Follow the URL in the Bundle.link entry whose relation is next verbatim. Do not build or edit the paging URL.

Search URLs can contain PHI. See Protect Sensitive Search Data.

Resource-Specific Parameters

ResourceParameters in Addition to Common Controls
Devicepatient, status, type, manufacturer, model
DeviceAssociationdate, device, patient, status, subject
Encounterclass, date, discharge-disposition, identifier, location, patient, status, type
Locationidentifier, status, partof, form, name, address, address-city, address-state, address-postalcode
Observationcategory, code, date, device, encounter, patient, specimen, status
Patientbirthdate, death-date, family, given, identifier, name
Practitioneridentifier, name
PractitionerRolepractitioner, specialty
Provenanceactivity, agent, target, when
Subscriptionowner, topic, url, status
SubscriptionTopicurl

The PractitionerRole practitioner reference parameter advertises the identifier and name chains. For example: GET /api/fhir/r6-ballot4/PractitionerRole?practitioner.name=Smith&_count=20.

Examples

GET /api/fhir/r6-ballot4/Location?status=active&form=si&_count=20
GET /api/fhir/r6-ballot4/Observation?patient=Patient/{rid}&code=http%3A%2F%2Floinc.org%7C8867-4
GET /api/fhir/r6-ballot4/Subscription?status=active

A successful search returns a FHIR search-set Bundle. See the applicable endpoint page and Supported Search and Control Parameters for parameter details.

Subscription Status Operations

Use GET /api/fhir/r6-ballot4/Subscription/$status for multiple subscriptions and GET /api/fhir/r6-ballot4/Subscription/{rid}/$status for one subscription when advertised. See FHIR R6 Subscriptions.