Orion Health Care Programs API

Care program management and enrollment

OpenAPI Specification

orion-care-programs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Orion Health FHIR Alerts Care Programs API
  description: The Orion Health FHIR API provides standards-based access to healthcare data using the HL7 FHIR (Fast Healthcare Interoperability Resources) specification. It enables healthcare organizations to read, search, create, and update clinical resources including patients, encounters, observations, conditions, medications, allergies, procedures, diagnostic reports, and care plans. The API conforms to FHIR R4 (v4.0.1) and supports both JSON and XML representations.
  version: 1.0.0
  contact:
    name: Orion Health API Support
    email: apisupport@orionhealth.com
    url: https://www.orionhealth.com/support
  license:
    name: Proprietary
    url: https://www.orionhealth.com/terms-of-service
  termsOfService: https://www.orionhealth.com/terms-of-service
servers:
- url: https://api.orionhealth.com/fhir
  description: Production FHIR Server
- url: https://sandbox.orionhealth.com/fhir
  description: Sandbox FHIR Server
security:
- oauth2: []
- bearerAuth: []
tags:
- name: Care Programs
  description: Care program management and enrollment
paths:
  /care-programs:
    get:
      operationId: listCarePrograms
      summary: Orion Health List care programs
      description: Retrieve care programs configured for the organization, such as chronic disease management, wellness, and transition-of-care programs.
      tags:
      - Care Programs
      parameters:
      - name: status
        in: query
        schema:
          type: string
          enum:
          - active
          - inactive
          - draft
      - name: type
        in: query
        description: Program type
        schema:
          type: string
          enum:
          - chronic-disease
          - wellness
          - transition-of-care
          - behavioral-health
          - maternity
          - custom
      - $ref: '#/components/parameters/PageOffset'
      - $ref: '#/components/parameters/PageLimit'
      responses:
        '200':
          description: List of care programs
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CareProgram'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /care-programs/{programId}:
    get:
      operationId: getCareProgram
      summary: Orion Health Get care program details
      description: Retrieve details of a specific care program.
      tags:
      - Care Programs
      parameters:
      - name: programId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Care program details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CareProgram'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /care-programs/{programId}/enrollments:
    get:
      operationId: listProgramEnrollments
      summary: Orion Health List program enrollments
      description: Retrieve patient enrollments in a care program.
      tags:
      - Care Programs
      parameters:
      - name: programId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: status
        in: query
        schema:
          type: string
          enum:
          - enrolled
          - active
          - completed
          - withdrawn
      - $ref: '#/components/parameters/PageOffset'
      - $ref: '#/components/parameters/PageLimit'
      responses:
        '200':
          description: List of enrollments
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Enrollment'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: enrollPatient
      summary: Orion Health Enroll a patient in a care program
      description: Enroll a patient in a specific care program.
      tags:
      - Care Programs
      parameters:
      - name: programId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnrollmentCreate'
      responses:
        '201':
          description: Patient enrolled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Enrollment'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: Patient already enrolled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    CareProgram:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
          - chronic-disease
          - wellness
          - transition-of-care
          - behavioral-health
          - maternity
          - custom
        status:
          type: string
          enum:
          - active
          - inactive
          - draft
        enrollmentCount:
          type: integer
        eligibilityCriteria:
          type: object
          properties:
            conditions:
              type: array
              items:
                type: string
            riskLevels:
              type: array
              items:
                type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    EnrollmentCreate:
      type: object
      required:
      - patientId
      properties:
        patientId:
          type: string
        assignedCareManager:
          type: string
        goals:
          type: array
          items:
            type: object
            properties:
              description:
                type: string
              targetDate:
                type: string
                format: date
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string
    Enrollment:
      type: object
      properties:
        id:
          type: string
          format: uuid
        programId:
          type: string
          format: uuid
        patientId:
          type: string
        status:
          type: string
          enum:
          - enrolled
          - active
          - completed
          - withdrawn
        enrolledAt:
          type: string
          format: date-time
        completedAt:
          type: string
          format: date-time
        assignedCareManager:
          type: string
        goals:
          type: array
          items:
            type: object
            properties:
              description:
                type: string
              status:
                type: string
                enum:
                - pending
                - in-progress
                - achieved
                - not-achieved
              targetDate:
                type: string
                format: date
    Pagination:
      type: object
      properties:
        offset:
          type: integer
        limit:
          type: integer
        total:
          type: integer
        hasMore:
          type: boolean
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    PageLimit:
      name: limit
      in: query
      description: Maximum number of items to return
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
    PageOffset:
      name: offset
      in: query
      description: Number of items to skip
      schema:
        type: integer
        minimum: 0
        default: 0
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authorization using SMART on FHIR
      flows:
        authorizationCode:
          authorizationUrl: https://auth.orionhealth.com/oauth2/authorize
          tokenUrl: https://auth.orionhealth.com/oauth2/token
          scopes:
            patient/*.read: Read access to all patient data
            patient/*.write: Write access to all patient data
            patient/Patient.read: Read access to Patient resources
            patient/Observation.read: Read access to Observation resources
            patient/Condition.read: Read access to Condition resources
            patient/MedicationRequest.read: Read access to MedicationRequest resources
            launch: Launch context
            openid: OpenID Connect
            fhirUser: FHIR user identity
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT