R4 Draft for Comment

This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

FHIR Infrastructure Work GroupMaturity Level: N/ABallot 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
Operations Defined by Resource Types
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
Submit a Claim resource for adjudication[base]/Claim/$submit
Concept Look Up & Decomposition[base]/CodeSystem/$lookup
Value Set based Validation[base]/CodeSystem/$validate-code | [base]/CodeSystem/[id]/$validate-code
Subsumption Testing[base]/CodeSystem/$subsumes | [base]/CodeSystem/[id]/$subsumes
Code Composition based on supplied properties[base]/CodeSystem/$compose | [base]/CodeSystem/[id]/$compose
Generate a Document[base]/Composition/$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]/EligibilityRequest/$submit
Fetch Encounter Record[base]/Encounter/[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
Process Message[base]/$process-message
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
Apply[base]/PlanDefinition/[id]/$apply
Data Requirements[base]/PlanDefinition/[id]/$data-requirements
Submit an ProcessRequest resource for assessment[base]/ProcessRequest/$submit
Populate Questionnaire[base]/Questionnaire/$populate | [base]/Questionnaire/[id]/$populate
Generate HTML for Questionnaire[base]/Questionnaire/$populatehtml | [base]/Questionnaire/[id]/$populatehtml
Generate a link to a Questionnaire completion webpage[base]/Questionnaire/$populatelink | [base]/Questionnaire/[id]/$populatelink
Evaluate[base]/ServiceDefinition/[id]/$evaluate
Data Requirements[base]/ServiceDefinition/[id]/$data-requirements
Build Questionnaire[base]/StructureDefinition/$questionnaire | [base]/StructureDefinition/[id]/$questionnaire
Generate Snapshot[base]/StructureDefinition/$generate | [base]/StructureDefinition/[id]/$generate
Model Instance Transformation[base]/StructureMap/$transform | [base]/StructureMap/[id]/$transform
Value Set Expansion[base]/ValueSet/$expand | [base]/ValueSet/[id]/$expand
Value Set based Validation[base]/ValueSet/$validate-code | [base]/ValueSet/[id]/$validate-code

Notes:

  • The special operations on the 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.
  • Implementation Guides can define additional operations

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:

  • Defining and managing code systems, value sets, and concept maps
  • Code lookup & Validation
  • Value Set Expansion (including for UI data entry support)
  • Value Set Validation
  • Translations between code systems
  • Subsumption testing and other logical analyses
  • Maintaining a closure table
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:

  • Defining and managing structure definitions, data elements, Capability statements, search parameters, and operation & compartment definitions
  • Resource Validation
  • Comparing and subsetting Capability statements
To be developed
Knowledge Repository

A service that provides basic retrieval and maintenance functionality for clinical knowledge artifacts. The service provides the following functionality:

  • Defining and managing plan and activity definitions (e.g. order sets, protocols, decision support rules, documentation templates, etc.), libraries, and measures
  • Search and retrieval of knowledge artifacts
  • Data requirements analysis of knowledge artifacts
Capability statement
module
Measure Processor

A service that provides measure evaluation functionality. The service provides the following functionality:

  • Searching and retrieval of measure definitions
  • Evaluation of measures for patients and populations
  • Data requirements analysis of measure definitions
Capability statement
module

Possible candidate Business Services for future versions:

  • Conversion Service (using mapping language, and also iso-semantic transforms in a resource)
  • Questionnaire related finctionality (though see SDC)
  • Patient Registration & Reconciliation service (per IXS)
  • Medication Management service (home specific variant?)
  • Clinical Data Repository
  • Clinical Task Manager
  • Comminications Manager
  • ...?

Note that there is already past & current work on some of these in HL7 (though not necessarily FHIR specific).