LogoFHIR-FLI

Capabilities

Capabilities#

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

FHIR REST API#

CRUD Operations

OperationMethodEndpointNotes
Create POST /<type> Auto-generates ID if not provided
ReadGET/<type>/<id>
Update PUT /<type>/<id> Auto-versions with timestamp
Patch PATCH /<type>/<id> JSON Patch (RFC 6902)
DeleteDELETE/<type>/<id>
Conditional Create POST /<type> Via If-None-Exist header
Conditional Update PUT /<type>/<id> Via If-Match header
Conditional Delete DELETE /<type> Via query parameters
FeatureDetails
GET searchGET /<type>?param=value
POST searchPOST /<type>/_search
System searchPOST /_search (requires _type)
String paramsStarts-with matching
Token params system|code , :text , :in , :not-in , :of-type modifiers
Reference params Direct and chained (.), reverse chaining (_has)
Date params eq , ne , lt , gt , le , ge , sa , eb , ap prefixes
Number paramsNumeric prefixes
Quantity paramsValue, system, code
URI params:above, :below modifiers
Composite paramsMultiple components
_include Forward includes with :iterate and wildcard (*)
_revinclude Reverse includes with :iterate and wildcard (*)
_sortSingle and multi-field sorting
_count / _offsetPagination
_totalnone, estimate, accurate
_summary true, 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
$validate POST /$validate, POST /<type>/$validate Resource validation
$everything GET /<type>/<id>/$everything Patient/compartment everything
$document GET /Composition/<id>/$document Generate document Bundle
$meta GET /<type>/<id>/$meta Get resource metadata
$meta-add POST /<type>/<id>/$meta-add Add metadata
$meta-delete POST /<type>/<id>/$meta-delete Remove metadata
$fhirpath GET/POST /$fhirpath Evaluate FHIRPath expressions
$transform POST /$transform FHIR Mapping Language transforms
$backup POST /$backup Export all data as FHIR Bundle
$restore POST /$restore Import data from FHIR Bundle

Terminology#

OperationEndpoint
$validate-code GET/POST /CodeSystem/<id>/$validate-code
$validate-code GET/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)