Particle Health FHIR API

FHIR R4 resource search and read.

Documentation

Specifications

Other Resources

OpenAPI Specification

particle-health-fhir-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Particle Health Authentication FHIR API
  description: Particle Health is a healthcare data interoperability API that aggregates patient medical records from US health information exchanges (Carequality, CommonWell, eHealth Exchange), TEFCA / QHIN partners, state HIEs, and Surescripts. The API surfaces patient registration, asynchronous query orchestration, batch processing, document handling, network participant directory search, patient provider mapping, and real-time Signal alerting. Clinical data is returned in FHIR R4 Bundles, C-CDA documents, Flat datasets, or Deltas (incremental changes). Authentication uses OAuth 2 client-credentials with JWT bearer tokens scoped to a project.
  version: v1
  contact:
    name: Particle Health Support
    email: support@particlehealth.com
    url: https://particlehealth.com/contact
  license:
    name: Particle Health Terms of Service
    url: https://particlehealth.com/
servers:
- url: https://api.particlehealth.com
  description: Particle Health Production
security:
- bearerAuth: []
tags:
- name: FHIR
  description: FHIR R4 resource search and read.
paths:
  /deltas/r4/Patient/{particle_patient_id}/$everything:
    get:
      operationId: collectDeltasFhirEverything
      summary: Collect Deltas FHIR Datasets
      description: Returns a FHIR Bundle of changed resources for the patient since the last sync.
      tags:
      - FHIR
      parameters:
      - $ref: '#/components/parameters/particlePatientIdParam'
      responses:
        '200':
          description: FHIR Bundle of changed resources
  /deltas/r4/{resource_type}:
    get:
      operationId: searchDeltasFhirResources
      summary: Search Deltas FHIR Resources
      description: Searches deltas for a specific FHIR resource type.
      tags:
      - FHIR
      parameters:
      - $ref: '#/components/parameters/resourceTypeParam'
      responses:
        '200':
          description: FHIR Bundle of changed resources
  /deltas/r4/{resource_type}/{resource_id}:
    get:
      operationId: readDeltasFhirResource
      summary: Read Deltas FHIR Resource
      description: Reads a specific changed FHIR resource.
      tags:
      - FHIR
      parameters:
      - $ref: '#/components/parameters/resourceTypeParam'
      - $ref: '#/components/parameters/resourceIdParam'
      responses:
        '200':
          description: FHIR resource
  /r4/Patient:
    post:
      operationId: createFhirPatient
      summary: Create FHIR Patient
      description: Creates a FHIR R4 Patient resource.
      tags:
      - FHIR
      responses:
        '201':
          description: FHIR Patient created
  /r4/Patient/{patient_id}/$everything:
    get:
      operationId: getFhirPatientEverything
      summary: Get Patient $everything
      description: Returns a FHIR Bundle of all resources related to the patient with paging and date filters.
      tags:
      - FHIR
      parameters:
      - name: patient_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: FHIR Bundle
  /r4/Patient/{patient_id}/query:
    get:
      operationId: getFhirPatientQueryStatus
      summary: Get FHIR Patient Query Status
      tags:
      - FHIR
      parameters:
      - name: patient_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Query status
    post:
      operationId: createFhirPatientQuery
      summary: Create FHIR Patient Query
      tags:
      - FHIR
      parameters:
      - name: patient_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Query accepted
  /r4/{resource_type}:
    get:
      operationId: searchFhirResources
      summary: Search FHIR Resources
      description: Search a FHIR resource type (Patient, Encounter, Condition, etc.) scoped by patient.
      tags:
      - FHIR
      parameters:
      - $ref: '#/components/parameters/resourceTypeParam'
      - name: patient
        in: query
        schema:
          type: string
      responses:
        '200':
          description: FHIR Bundle
  /r4/{resource_type}/{resource_id}:
    get:
      operationId: readFhirResource
      summary: Read FHIR Resource
      tags:
      - FHIR
      parameters:
      - $ref: '#/components/parameters/resourceTypeParam'
      - $ref: '#/components/parameters/resourceIdParam'
      responses:
        '200':
          description: FHIR resource
  /api/v2/patients/{particle_patient_id}/fhir:
    get:
      operationId: getFhirDatasets
      summary: Get FHIR Datasets
      description: Returns a FHIR Bundle with paging and incremental sync semantics.
      tags:
      - FHIR
      parameters:
      - $ref: '#/components/parameters/particlePatientIdParam'
      responses:
        '200':
          description: FHIR Bundle
components:
  parameters:
    particlePatientIdParam:
      name: particle_patient_id
      in: path
      required: true
      description: Particle Patient ID (PPID)
      schema:
        type: string
    resourceTypeParam:
      name: resource_type
      in: path
      required: true
      description: FHIR resource type (Patient, Encounter, Condition, Observation, etc.)
      schema:
        type: string
    resourceIdParam:
      name: resource_id
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2 client-credentials JWT issued by `/auth`. Token expires after one hour.
externalDocs:
  description: Particle Health API Documentation
  url: https://docs.particlehealth.com/