Zus Health FHIR API

General FHIR R4 resources.

OpenAPI Specification

zus-fhir-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Zus Health Auth FHIR API
  description: FHIR R4 (v4.0.1) REST API for the Zus Health shared health-data platform. Provides access to Patient resources, the Zus Aggregated Profile (ZAP) via Patient History jobs, general FHIR resources, document ingestion and retrieval through DocumentReference and Binary, and OAuth2 token issuance. All requests are authenticated with an OAuth2 Bearer access token. Endpoints and behavior are derived from the public Zus documentation at https://docs.zushealth.com; production hostnames use api.zusapi.com and the sandbox uses api.sandbox.zusapi.com / auth.sandbox.zusapi.com.
  termsOfService: https://zushealth.com
  contact:
    name: Zus Health
    url: https://docs.zushealth.com
  version: '1.0'
servers:
- url: https://api.zusapi.com
  description: Production
- url: https://api.sandbox.zusapi.com
  description: Sandbox
security:
- bearerAuth: []
tags:
- name: FHIR
  description: General FHIR R4 resources.
paths:
  /fhir/{resourceType}:
    get:
      operationId: searchResources
      tags:
      - FHIR
      summary: Search resources of a given FHIR R4 type.
      description: Search any supported FHIR R4 resource type (140+ types including Observation, Condition, Encounter, MedicationStatement, Procedure, DiagnosticReport, DocumentReference, and Binary). Returns a searchset Bundle.
      parameters:
      - name: resourceType
        in: path
        required: true
        schema:
          type: string
        example: Observation
      - name: patient
        in: query
        schema:
          type: string
      - name: _count
        in: query
        schema:
          type: integer
          default: 10
          maximum: 500
      responses:
        '200':
          description: A FHIR searchset Bundle.
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
    post:
      operationId: createResource
      tags:
      - FHIR
      summary: Create a resource of a given FHIR R4 type.
      parameters:
      - name: resourceType
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/fhir+json:
            schema:
              $ref: '#/components/schemas/Resource'
      responses:
        '201':
          description: Resource created.
  /fhir/{resourceType}/{id}:
    get:
      operationId: readResource
      tags:
      - FHIR
      summary: Read a resource by type and id.
      parameters:
      - name: resourceType
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: The requested resource.
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Resource'
        '404':
          description: Resource not found.
    delete:
      operationId: deleteResource
      tags:
      - FHIR
      summary: Delete a resource by type and id.
      parameters:
      - name: resourceType
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: Resource deleted.
  /fhir:
    post:
      operationId: submitBundle
      tags:
      - FHIR
      summary: Submit a FHIR transaction or batch Bundle.
      description: Submit a FHIR R4 transaction or batch Bundle (up to 100 entries). Supports conditional create, update, and delete by identifier.
      requestBody:
        required: true
        content:
          application/fhir+json:
            schema:
              $ref: '#/components/schemas/Bundle'
      responses:
        '200':
          description: A transaction-response or batch-response Bundle.
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
components:
  parameters:
    ResourceId:
      name: id
      in: path
      required: true
      schema:
        type: string
      description: The logical id of the resource.
  schemas:
    Resource:
      type: object
      description: A generic FHIR R4 resource.
      properties:
        resourceType:
          type: string
        id:
          type: string
      additionalProperties: true
    Bundle:
      type: object
      properties:
        resourceType:
          type: string
          example: Bundle
        type:
          type: string
          example: searchset
        total:
          type: integer
        entry:
          type: array
          items:
            type: object
      additionalProperties: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'OAuth2 Bearer access token obtained from the Zus token endpoint (auth.zusapi.com/oauth/token). Sent as Authorization: Bearer <ACCESS_TOKEN>.'