HL7 FHIR Bundle API

Batch and transaction operations

OpenAPI Specification

hl7-fhir-bundle-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: HL7 FHIR R4 Healthcare Bundle API
  description: HL7 FHIR R4 (v4.0.1) RESTful API for healthcare data exchange. Provides access to patient demographics, clinical observations, conditions, medications, encounters, care plans, and diagnostic reports. Implements the FHIR REST specification including CRUD operations, search parameters, history, and batch/ transaction bundles. SMART on FHIR OAuth 2.0 authorization required.
  version: 4.0.1
  contact:
    name: HL7 International
    url: https://www.hl7.org/fhir/
  license:
    name: Creative Commons CC0
    url: https://creativecommons.org/publicdomain/zero/1.0/
servers:
- url: https://fhir-server.example.com/fhir/R4
  description: FHIR R4 server base URL (replace with actual server URL)
security:
- SMARTonFHIR: []
tags:
- name: Bundle
  description: Batch and transaction operations
paths:
  /:
    post:
      operationId: processBatch
      summary: Process batch or transaction
      description: Processes a FHIR Bundle of type 'batch' or 'transaction'. Batch processes each entry independently; transaction processes all entries atomically.
      tags:
      - Bundle
      requestBody:
        required: true
        content:
          application/fhir+json:
            schema:
              $ref: '#/components/schemas/Bundle'
      responses:
        '200':
          description: Bundle response with results for each entry
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
  /metadata:
    get:
      operationId: getCapabilityStatement
      summary: Get server capability statement
      description: Returns the FHIR CapabilityStatement describing supported resources, operations, and search parameters for this server.
      tags:
      - Bundle
      security: []
      responses:
        '200':
          description: CapabilityStatement returned
          content:
            application/fhir+json:
              schema:
                type: object
                properties:
                  resourceType:
                    type: string
                    enum:
                    - CapabilityStatement
components:
  schemas:
    Bundle:
      type: object
      description: A container for a collection of FHIR resources
      properties:
        resourceType:
          type: string
          enum:
          - Bundle
        id:
          type: string
        type:
          type: string
          enum:
          - document
          - message
          - transaction
          - transaction-response
          - batch
          - batch-response
          - history
          - searchset
          - collection
        total:
          type: integer
          description: Total number of matches (for searchset bundles)
        link:
          type: array
          items:
            type: object
            properties:
              relation:
                type: string
                enum:
                - self
                - first
                - previous
                - next
                - last
              url:
                type: string
                format: uri
        entry:
          type: array
          items:
            type: object
            properties:
              fullUrl:
                type: string
                format: uri
              resource:
                type: object
                description: FHIR resource (any type)
              search:
                type: object
                properties:
                  mode:
                    type: string
                    enum:
                    - match
                    - include
                    - outcome
                  score:
                    type: number
              request:
                type: object
                properties:
                  method:
                    type: string
                    enum:
                    - GET
                    - HEAD
                    - POST
                    - PUT
                    - DELETE
                    - PATCH
                  url:
                    type: string
              response:
                type: object
                properties:
                  status:
                    type: string
                  location:
                    type: string
      required:
      - resourceType
      - type
  securitySchemes:
    SMARTonFHIR:
      type: oauth2
      description: SMART on FHIR OAuth 2.0 authorization
      flows:
        authorizationCode:
          authorizationUrl: https://auth.example.com/authorize
          tokenUrl: https://auth.example.com/token
          scopes:
            patient/Patient.read: Read patient data
            patient/Observation.read: Read observations
            patient/Condition.read: Read conditions
            patient/MedicationRequest.read: Read medication requests
            patient/Encounter.read: Read encounters
            launch/patient: Patient context launch
            openid: OpenID Connect identity
externalDocs:
  description: HL7 FHIR R4 Specification
  url: https://www.hl7.org/fhir/R4/