Particle Health Flat API

Flat (normalized columnar) clinical data domains.

Documentation

Specifications

Other Resources

OpenAPI Specification

particle-health-flat-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Particle Health Authentication Flat 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: Flat
  description: Flat (normalized columnar) clinical data domains.
paths:
  /deltas/flat/{particle_patient_id}:
    get:
      operationId: collectDeltasFlatDatasets
      summary: Collect Deltas Flat Datasets
      description: Returns Flat datasets changed since the supplied `_since` timestamp.
      tags:
      - Flat
      parameters:
      - $ref: '#/components/parameters/particlePatientIdParam'
      responses:
        '200':
          description: Flat dataset bundle
  /deltas/flat/{particle_patient_id}/{resource_type}/{resource_id}:
    get:
      operationId: getDeltasFlatResource
      summary: Get Deltas Flat Resource
      tags:
      - Flat
      parameters:
      - $ref: '#/components/parameters/particlePatientIdParam'
      - $ref: '#/components/parameters/resourceTypeParam'
      - $ref: '#/components/parameters/resourceIdParam'
      responses:
        '200':
          description: Flat resource
  /flat:
    post:
      operationId: submitFlatPatient
      summary: Submit Flat Patient
      description: Initiates a Flat query for a specific patient using demographics.
      tags:
      - Flat
      responses:
        '202':
          description: Flat query accepted
  /flat/{id}:
    get:
      operationId: getFlatPatient
      summary: Get Flat Patient
      tags:
      - Flat
      parameters:
      - $ref: '#/components/parameters/idParam'
      responses:
        '200':
          description: Flat patient status
  /flat/{id}/collect-data:
    get:
      operationId: collectFlatDatasets
      summary: Collect Flat Datasets
      description: Retrieve Flat clinical data domains (allergies, encounters, medications, labs, etc.).
      tags:
      - Flat
      parameters:
      - $ref: '#/components/parameters/idParam'
      responses:
        '200':
          description: Flat datasets
  /flat/{patient_id}/{resource_type}/{resource_id}:
    get:
      operationId: getFlatResource
      summary: Get Flat Resource
      tags:
      - Flat
      parameters:
      - name: patient_id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/resourceTypeParam'
      - $ref: '#/components/parameters/resourceIdParam'
      responses:
        '200':
          description: Flat resource
  /api/v2/patients/{particle_patient_id}/flat:
    get:
      operationId: collectV2FlatDatasets
      summary: Collect v2 Flat Datasets
      description: Retrieve flat datasets filtered by domain (ALLERGIES, ENCOUNTERS, MEDICATIONS, LABS, IMMUNIZATIONS, VITAL_SIGNS, etc.) or a specific resource.
      tags:
      - Flat
      parameters:
      - $ref: '#/components/parameters/particlePatientIdParam'
      responses:
        '200':
          description: Flat datasets
components:
  parameters:
    idParam:
      name: id
      in: path
      required: true
      schema:
        type: string
    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/