Skip to main content

Capabilities

FHIR ANT implements a broad set of the FHIR R4 specification. Here's what's supported.

FHIR REST API

CRUD Operations

OperationMethodEndpointNotes
CreatePOST/<type>Auto-generates ID if not provided
ReadGET/<type>/<id>
UpdatePUT/<type>/<id>Auto-versions with timestamp
PatchPATCH/<type>/<id>JSON Patch (RFC 6902)
DeleteDELETE/<type>/<id>
Conditional CreatePOST/<type>Via If-None-Exist header
Conditional UpdatePUT/<type>/<id>Via If-Match header
Conditional DeleteDELETE/<type>Via query parameters
FeatureDetails
GET searchGET /<type>?param=value
POST searchPOST /<type>/_search
System searchPOST /_search (requires _type)
String paramsStarts-with matching
Token paramssystem|code, :text, :in, :not-in, :of-type modifiers
Reference paramsDirect and chained (.), reverse chaining (_has)
Date paramseq, ne, lt, gt, le, ge, sa, eb, ap prefixes
Number paramsNumeric prefixes
Quantity paramsValue, system, code
URI params:above, :below modifiers
Composite paramsMultiple components
_includeForward includes with :iterate and wildcard (*)
_revincludeReverse includes with :iterate and wildcard (*)
_sortSingle and multi-field sorting
_count / _offsetPagination
_totalnone, estimate, accurate
_summarytrue, false, text, data, count
_elementsReturn only specified fields (adds SUBSETTED tag)

History

EndpointDescription
GET /<type>/<id>/_historyInstance history
GET /<type>/<id>/_history/<vid>Version read
GET /<type>/_historyType history
GET /_historySystem history
_since / _at parametersFilter by date

Bundles

  • Transaction bundles — atomic, all-or-nothing with urn:uuid resolution
  • Batch bundles — independent operations
  • Full urn:uuid cross-reference resolution within transactions

Compartments

Compartment$everythingCompartment Search
PatientYesYes
EncounterYesYes
PractitionerYesYes
RelatedPersonYesYes
DeviceYesYes

Operations

OperationEndpointDescription
$validatePOST /$validate, POST /<type>/$validateResource validation
$everythingGET /<type>/<id>/$everythingPatient/compartment everything
$documentGET /Composition/<id>/$documentGenerate document Bundle
$metaGET /<type>/<id>/$metaGet resource metadata
$meta-addPOST /<type>/<id>/$meta-addAdd metadata
$meta-deletePOST /<type>/<id>/$meta-deleteRemove metadata
$fhirpathGET/POST /$fhirpathEvaluate FHIRPath expressions
$transformPOST /$transformFHIR Mapping Language transforms
$backupPOST /$backupExport all data as FHIR Bundle
$restorePOST /$restoreImport data from FHIR Bundle

Terminology

OperationEndpoint
$validate-codeGET/POST /CodeSystem/<id>/$validate-code
$validate-codeGET/POST /ValueSet/<id>/$validate-code
$lookupGET/POST /CodeSystem/<id>/$lookup
$expandGET/POST /ValueSet/<id>/$expand

Instance-level and type-level variants are both supported.

Bulk Data Export

EndpointDescription
GET /$exportSystem-level export
GET /Patient/$exportPatient-level export
GET /Group/<id>/$exportGroup-level export
GET /$export-poll-status/<id>Poll export status
DELETE /$export-poll-status/<id>Cancel export
GET /$export-file/<id>/<file>Download NDJSON file

Supports _type, _since, _typeFilter, and _outputFormat parameters.

Content Negotiation

  • Accept: application/fhir+json (default)
  • _format parameter
  • _pretty=true for formatted output
  • Prefer: return=minimal, return=representation, return=OperationOutcome, respond-async
  • If-Modified-Since, If-None-Match, If-Match headers

Metadata

  • GET /metadata — Full CapabilityStatement with all supported resources, search parameters, operations, and security information
  • GET /.well-known/smart-configuration — SMART on FHIR discovery document
  • GET /health — Server health check (status, uptime, database connectivity)