openapi: 3.0.1 info: title: Health Gorilla FHIR R4 Binary Patient API description: HL7 FHIR R4 REST API for the Health Gorilla health-data interoperability network. Provides access to patient records, person-authorized federated record retrieval across national exchange networks (QHIN / TEFCA), diagnostic (lab and radiology) ordering and results, clinical documents, and coverage/eligibility data. All requests require OAuth 2.0 bearer authentication. termsOfService: https://www.healthgorilla.com/terms-of-service contact: name: Health Gorilla Developer Support email: info@healthgorilla.com url: https://developer.healthgorilla.com version: R4 servers: - url: https://api.healthgorilla.com/fhir/R4 description: Production - url: https://sandbox.healthgorilla.com/fhir/R4 description: Sandbox security: - bearerAuth: [] tags: - name: Patient description: Patient demographics and patient-scoped record retrieval. paths: /Patient: get: operationId: searchPatients tags: - Patient summary: Search Patient resources. parameters: - $ref: '#/components/parameters/identifier' - $ref: '#/components/parameters/name' - name: birthdate in: query schema: type: string format: date - name: gender in: query schema: type: string - $ref: '#/components/parameters/count' responses: '200': description: A FHIR Bundle of matching Patient resources. content: application/fhir+json: schema: $ref: '#/components/schemas/Bundle' post: operationId: createPatient tags: - Patient summary: Create a Patient resource. requestBody: required: true content: application/fhir+json: schema: $ref: '#/components/schemas/Patient' responses: '201': description: Created content: application/fhir+json: schema: $ref: '#/components/schemas/Patient' /Patient/{id}: get: operationId: readPatient tags: - Patient summary: Read a Patient resource by id. parameters: - $ref: '#/components/parameters/id' responses: '200': description: OK content: application/fhir+json: schema: $ref: '#/components/schemas/Patient' '404': $ref: '#/components/responses/OperationOutcome' put: operationId: updatePatient tags: - Patient summary: Update a Patient resource. parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/fhir+json: schema: $ref: '#/components/schemas/Patient' responses: '200': description: OK content: application/fhir+json: schema: $ref: '#/components/schemas/Patient' /Patient/{id}/$everything: get: operationId: patientEverything tags: - Patient summary: Retrieve all records for a patient. description: FHIR $everything operation returning a Bundle of all resources in the patient compartment, including federated records retrieved across the national exchange network. parameters: - $ref: '#/components/parameters/id' responses: '200': description: A FHIR Bundle of patient-scoped resources. content: application/fhir+json: schema: $ref: '#/components/schemas/Bundle' '202': description: Accepted - federated retrieval is in progress; poll the returned location for completed, partial, or failed status. components: schemas: Patient: type: object properties: resourceType: type: string example: Patient id: type: string identifier: type: array items: type: object name: type: array items: type: object gender: type: string birthDate: type: string format: date address: type: array items: type: object telecom: type: array items: type: object OperationOutcome: type: object properties: resourceType: type: string example: OperationOutcome issue: type: array items: type: object properties: severity: type: string code: type: string diagnostics: type: string Bundle: type: object properties: resourceType: type: string example: Bundle type: type: string example: searchset total: type: integer link: type: array items: type: object properties: relation: type: string url: type: string entry: type: array items: type: object properties: fullUrl: type: string resource: type: object parameters: id: name: id in: path required: true description: The logical id of the resource. schema: type: string name: name: name in: query description: A portion of the name. schema: type: string identifier: name: identifier in: query description: A resource identifier (system|value). schema: type: string count: name: _count in: query description: Number of results per page. schema: type: integer responses: OperationOutcome: description: A FHIR OperationOutcome describing an error. content: application/fhir+json: schema: $ref: '#/components/schemas/OperationOutcome' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: 'OAuth 2.0 bearer access token. Obtain a token using the client credentials issued during onboarding via the Health Gorilla OAuth 2.0 token endpoint, then pass it as `Authorization: Bearer {token}`.'