Akute Health Labs API

The Labs API from Akute Health — 11 operation(s) for labs.

OpenAPI Specification

akute-labs-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Akute Health Customer Appointments Labs API
  description: REST API for the Akute Health automation-first EHR platform. Exposes FHIR-aligned resources - patients, appointments, clinical notes (encounters), tasks, documents, medications and e-prescribing, lab orders, diagnostic reports and observations - plus webhook subscriptions for resource events. Authentication uses an API key passed in the X-API-Key header. Webhook deliveries are signed with HMAC-SHA256 in the x-akute-signature header.
  termsOfService: https://www.akutehealth.com/
  contact:
    name: Akute Health Support
    email: support@akutehealth.com
    url: https://developer.akutehealth.com/
  version: '1.0'
servers:
- url: https://api.akutehealth.com/v1
  description: Production
- url: https://api.staging.akutehealth.com/v1
  description: Staging
security:
- APIKeyHeader: []
tags:
- name: Labs
paths:
  /procedures:
    get:
      operationId: searchProcedures
      tags:
      - Labs
      summary: Search lab procedures
      parameters:
      - name: query
        in: query
        schema:
          type: string
      - name: performer_organization_id
        in: query
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: integer
      - name: offset
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: OK
  /facilities:
    get:
      operationId: searchFacilities
      tags:
      - Labs
      summary: Search lab facilities
      parameters:
      - name: name
        in: query
        schema:
          type: string
      - name: zipcode
        in: query
        schema:
          type: string
      - name: distance
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: OK
  /orders:
    post:
      operationId: createOrder
      tags:
      - Labs
      summary: Create a lab order
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderCreate'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
        '202':
          description: Accepted (pending)
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    type: string
    get:
      operationId: searchOrders
      tags:
      - Labs
      summary: Search lab orders
      parameters:
      - name: patient_id
        in: query
        schema:
          type: string
      - name: external_patient_id
        in: query
        schema:
          type: string
      - name: authoring_user_id
        in: query
        schema:
          type: string
      - name: start_date_range
        in: query
        schema:
          type: string
          format: date
      responses:
        '200':
          description: OK
  /orders/{order_id}:
    get:
      operationId: getOrder
      tags:
      - Labs
      summary: Get a lab order by id
      parameters:
      - $ref: '#/components/parameters/OrderId'
      responses:
        '200':
          description: OK
  /orders/requests/{order_request_id}:
    get:
      operationId: getOrderRequest
      tags:
      - Labs
      summary: Get a lab order request status
      parameters:
      - name: order_request_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
  /orders/{order_id}/pdf:
    get:
      operationId: getOrderPdf
      tags:
      - Labs
      summary: Get a lab order requisition PDF
      parameters:
      - $ref: '#/components/parameters/OrderId'
      responses:
        '200':
          description: OK
          content:
            application/pdf:
              schema:
                type: string
                format: binary
  /diagnosticreport:
    get:
      operationId: searchDiagnosticReports
      tags:
      - Labs
      summary: Search diagnostic reports
      parameters:
      - name: patient_id
        in: query
        schema:
          type: string
      - name: external_patient_id
        in: query
        schema:
          type: string
      - name: order_id
        in: query
        schema:
          type: string
      - name: start_date_range
        in: query
        schema:
          type: string
          format: date
      - name: limit
        in: query
        schema:
          type: integer
      - name: offset
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: OK
  /diagnosticreport/{diagnostic_report_id}:
    get:
      operationId: getDiagnosticReport
      tags:
      - Labs
      summary: Get a diagnostic report by id
      parameters:
      - $ref: '#/components/parameters/DiagnosticReportId'
      responses:
        '200':
          description: OK
    put:
      operationId: updateDiagnosticReport
      tags:
      - Labs
      summary: Update a diagnostic report
      parameters:
      - $ref: '#/components/parameters/DiagnosticReportId'
      responses:
        '200':
          description: OK
  /diagnosticreport/{diagnostic_report_id}/pdf:
    get:
      operationId: getDiagnosticReportPdf
      tags:
      - Labs
      summary: Get a diagnostic report PDF
      parameters:
      - $ref: '#/components/parameters/DiagnosticReportId'
      responses:
        '200':
          description: OK
          content:
            application/pdf:
              schema:
                type: string
                format: binary
  /observations:
    get:
      operationId: searchObservations
      tags:
      - Labs
      summary: Search observations (lab results, vital signs)
      parameters:
      - name: category
        in: query
        schema:
          type: string
          enum:
          - laboratory
          - vital-signs
      - name: patient_id
        in: query
        schema:
          type: string
      - name: external_patient_id
        in: query
        schema:
          type: string
      - name: diagnostic_report_id
        in: query
        schema:
          type: string
      - name: order_id
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
  /observations/{observation_id}:
    get:
      operationId: getObservation
      tags:
      - Labs
      summary: Get an observation by id
      parameters:
      - name: observation_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
components:
  parameters:
    DiagnosticReportId:
      name: diagnostic_report_id
      in: path
      required: true
      schema:
        type: string
    OrderId:
      name: order_id
      in: path
      required: true
      schema:
        type: string
  schemas:
    OrderCreate:
      type: object
      required:
      - procedures
      properties:
        patient_id:
          type: string
        external_patient_id:
          type: string
        procedures:
          type: array
          items:
            type: string
        billing_type:
          type: string
        delivery_option:
          type: string
        ordering_user_id:
          type: string
        performer_organization_id:
          type: string
        account_number:
          type: string
        diagnoses:
          type: array
          items:
            type: string
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key created on the Settings -> Developer page in Akute. Required on every request.