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/