This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
FHIR Infrastructure Work Group | Maturity Level: N/A | Standards Status: Informative |
The RESTful API defines a set of common interactions (read, update, search, etc.) performed on a repository of typed resources. For further information concerning how operations are defined and invoked, see Extended Operations on the RESTful API.
This is a full list of the operations defined by this specification:
Base Operations (All resource types) | |
Validate a resource | [base]/[Resource]/$validate | [base]/[Resource]/[id]/$validate |
Access a list of profiles, tags, and security labels | [base]/$meta | [base]/[Resource]/$meta | [base]/[Resource]/[id]/$meta |
Add profiles, tags, and security labels to a resource | [base]/[Resource]/[id]/$meta-add |
Delete profiles, tags, and security labels for a resource | [base]/[Resource]/[id]/$meta-delete |
Convert from one form to another | [base]/$convert |
Execute a graphql statement | [base]/$graphql | [base]/[Resource]/[id]/$graphql |
Return a graph of resources | [base]/[Resource]/[id]/$graph |
Add to an array in a large resource | [base]/[Resource]/[id]/$add |
Remove from an array in a large resource | [base]/[Resource]/[id]/$remove |
Filter an array in a large resource | [base]/[Resource]/[id]/$filter |
Fetch the current version of a canonical resource (based on canonical versioning) | [base]/$current-canonical | [base]/[CanonicalResource]/$current-canonical |
Operations Defined by Resource Types | |
Apply | [base]/ActivityDefinition/$apply | [base]/ActivityDefinition/[id]/$apply |
Data Requirements | [base]/ActivityDefinition/[id]/$data-requirements |
Fetch a subset of the CapabilityStatement resource | [base]/CapabilityStatement/$subset | [base]/CapabilityStatement/[id]/$subset |
Test if a server implements a client's required operations | [base]/CapabilityStatement/$implements | [base]/CapabilityStatement/[id]/$implements |
Test if a server implements a client's required operations | [base]/CapabilityStatement/$conforms |
Discover what versions a server supports | [base]/$versions |
Apply | [base]/ChargeItemDefinition/[id]/$apply |
Submit a Claim resource for adjudication | [base]/Claim/$submit |
Concept Look Up & Decomposition | [base]/CodeSystem/$lookup | [base]/CodeSystem/[id]/$lookup |
Code System based Validation | [base]/CodeSystem/$validate-code | [base]/CodeSystem/[id]/$validate-code |
Subsumption Testing | [base]/CodeSystem/$subsumes | [base]/CodeSystem/[id]/$subsumes |
Finding codes based on supplied properties | [base]/CodeSystem/$find-matches | [base]/CodeSystem/[id]/$find-matches |
Generate a Document | [base]/Composition/[id]/$document |
Concept Translation | [base]/ConceptMap/$translate | [base]/ConceptMap/[id]/$translate |
Closure Table Maintenance | [base]/$closure |
Submit an EligibilityRequest resource for assessment | [base]/CoverageEligibilityRequest/$submit |
Generate a DocumentReference from a document | [base]/DocumentReference/$generate |
Fetch DocumentReference | [base]/DocumentReference/$docref |
Fetch Encounter Record | [base]/Encounter/[id]/$everything |
Fetch EpisodeOfCare Record | [base]/EpisodeOfCare/[id]/$everything |
Fetch a group of Patient Records | [base]/Group/[id]/$everything |
Data Requirements | [base]/$data-requirements | [base]/Library/[id]/$data-requirements |
Find a functional list | [base]/List/$find |
Evaluate Measure | [base]/Measure/$evaluate-measure | [base]/Measure/[id]/$evaluate-measure |
Data Requirements | [base]/Measure/[id]/$data-requirements |
Submit Data | [base]/Measure/$submit-data | [base]/Measure/[id]/$submit-data |
Collect Data | [base]/Measure/$collect-data | [base]/Measure/[id]/$collect-data |
Care Gaps | [base]/Measure/$care-gaps |
Fetch Product Record | [base]/MedicinalProductDefinition/$everything | [base]/MedicinalProductDefinition/[id]/$everything |
Process Message | [base]/$process-message |
Fetch Preferred id | [base]/NamingSystem/$preferred-id |
Translate id | [base]/NamingSystem/$translate-id |
Observation Statistics | [base]/Observation/$stats |
Last N Observations Query | [base]/Observation/$lastn |
Find patient matches using MPI based logic | [base]/Patient/$match |
Fetch Patient Record | [base]/Patient/$everything | [base]/Patient/[id]/$everything |
Patient Merge | [base]/Patient/$merge |
Apply | [base]/PlanDefinition/$apply | [base]/PlanDefinition/[id]/$apply |
Data Requirements | [base]/PlanDefinition/[id]/$data-requirements |
Apply | [base]/SpecimenDefinition/$apply | [base]/SpecimenDefinition/[id]/$apply |
Build Questionnaire | [base]/StructureDefinition/$questionnaire | [base]/StructureDefinition/[id]/$questionnaire |
Generate Snapshot | [base]/StructureDefinition/$snapshot | [base]/StructureDefinition/[id]/$snapshot |
Model Instance Transformation | [base]/StructureMap/$transform | [base]/StructureMap/[id]/$transform |
Search and retrieve prior events for a Subscription | [base]/Subscription/[id]/$events |
Get Current Subscription Status for One or More Subscriptions | [base]/Subscription/$status | [base]/Subscription/[id]/$status |
Get a binding token for use in a websocket connection | [base]/Subscription/$get-ws-binding-token | [base]/Subscription/[id]/$get-ws-binding-token |
Value Set Expansion | [base]/ValueSet/$expand | [base]/ValueSet/[id]/$expand |
Value Set based Validation | [base]/ValueSet/$validate-code | [base]/ValueSet/[id]/$validate-code |
Notes:
meta
element also operate on previous versions of a resource (/_history/). They are the only operations that can manipulate versions other than the "current" version.This specification defines a set of services, which are business level aggregations of Resources and Operations that provide a defined package of functionality that correspond to an identified business need.
Note that in addition to the services defined in this specification, many implementation guides define business level services.
This table lists the services currently defined:
Name | Description | Links |
Terminology Service | A service that lets healthcare applications make use of codes, code systems, and value sets without having to become experts in the fine details of the code system, value set and concept map resources, and the underlying code systems and terminological principles. The service provides the following functionality:
|
Capability statement module |
Conformance Service | A service that provides the underlying services needed to test whether resources conform to the rules defined by the FHIR specification and applicable implementation guides, and to help author implementation guides. The service provides the following functionality:
|
To be developed |
Knowledge Repository | A service that provides basic retrieval and maintenance functionality for clinical knowledge artifacts. The service provides the following functionality:
|
Capability statement module |
Measure Processor | A service that provides measure evaluation functionality. The service provides the following functionality:
|
Capability statement module |
Possible candidate Business Services for future versions:
Note that there is already past & current work on some of these in HL7 (though not necessarily FHIR specific).