Orion Health Population Health API

API for population health management, analytics, and care coordination.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

orion-population-health-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Orion Health Population Health API
  description: >-
    The Orion Health Population Health API provides programmatic access to
    population health management capabilities including patient registries,
    risk stratification, care coordination, cohort analytics, and health
    outcome tracking. It enables healthcare organizations to identify at-risk
    populations, manage care programs, and track quality measures across
    patient cohorts.
  version: 1.0.0
  contact:
    name: Orion Health API Support
    email: [email protected]
    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/population-health
    description: Production Server
  - url: https://sandbox.orionhealth.com/population-health
    description: Sandbox Server
security:
  - oauth2: []
  - bearerAuth: []
tags:
  - name: Alerts
    description: Clinical and population health alerts
  - name: Analytics
    description: Population health analytics and reporting
  - name: Care Programs
    description: Care program management and enrollment
  - name: Cohorts
    description: Patient cohort definition and analysis
  - name: Quality Measures
    description: Healthcare quality measure tracking
  - name: Registries
    description: Patient registry management
  - name: Risk Stratification
    description: Patient risk scoring and stratification
paths:
  /registries:
    get:
      operationId: listRegistries
      summary: Orion Health List patient registries
      description: >-
        Retrieve a list of patient registries configured for the organization,
        such as diabetes, heart failure, or chronic disease registries.
      tags:
        - Registries
      parameters:
        - name: type
          in: query
          description: Filter by registry type
          schema:
            type: string
            enum:
              - chronic-disease
              - preventive-care
              - behavioral-health
              - maternal-health
              - pediatric
              - custom
        - name: status
          in: query
          description: Filter by registry status
          schema:
            type: string
            enum:
              - active
              - inactive
              - archived
        - $ref: '#/components/parameters/PageOffset'
        - $ref: '#/components/parameters/PageLimit'
      responses:
        '200':
          description: List of patient registries
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Registry'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /registries/{registryId}:
    get:
      operationId: getRegistry
      summary: Orion Health Get a patient registry
      description: Retrieve details of a specific patient registry.
      tags:
        - Registries
      parameters:
        - name: registryId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Registry details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Registry'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /registries/{registryId}/patients:
    get:
      operationId: listRegistryPatients
      summary: Orion Health List patients in a registry
      description: >-
        Retrieve the list of patients enrolled in a specific registry,
        with optional filtering by risk level and care status.
      tags:
        - Registries
      parameters:
        - name: registryId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: riskLevel
          in: query
          description: Filter by risk stratification level
          schema:
            type: string
            enum:
              - low
              - moderate
              - high
              - critical
        - name: careStatus
          in: query
          description: Filter by care management status
          schema:
            type: string
            enum:
              - enrolled
              - active
              - completed
              - discharged
        - $ref: '#/components/parameters/PageOffset'
        - $ref: '#/components/parameters/PageLimit'
      responses:
        '200':
          description: List of patients in the registry
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/RegistryPatient'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /risk-stratification/scores:
    get:
      operationId: listRiskScores
      summary: Orion Health List patient risk scores
      description: >-
        Retrieve risk stratification scores for patients, calculated using
        configurable risk models based on clinical data, claims, and
        social determinants.
      tags:
        - Risk Stratification
      parameters:
        - name: patientId
          in: query
          description: Filter by patient identifier
          schema:
            type: string
        - name: model
          in: query
          description: Risk model used for scoring
          schema:
            type: string
            enum:
              - hcc
              - charlson
              - elixhauser
              - framingham
              - custom
        - name: riskLevel
          in: query
          description: Filter by risk level
          schema:
            type: string
            enum:
              - low
              - moderate
              - high
              - critical
        - name: calculatedAfter
          in: query
          description: Only return scores calculated after this date
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/PageOffset'
        - $ref: '#/components/parameters/PageLimit'
      responses:
        '200':
          description: List of risk scores
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/RiskScore'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /risk-stratification/scores/{patientId}:
    get:
      operationId: getPatientRiskScore
      summary: Orion Health Get risk score for a patient
      description: >-
        Retrieve the current risk stratification score and risk factors
        for a specific patient.
      tags:
        - Risk Stratification
      parameters:
        - name: patientId
          in: path
          required: true
          schema:
            type: string
        - name: model
          in: query
          description: Risk model to use
          schema:
            type: string
      responses:
        '200':
          description: Patient risk score details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskScore'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /cohorts:
    get:
      operationId: listCohorts
      summary: Orion Health List patient cohorts
      description: >-
        Retrieve defined patient cohorts used for population analytics
        and targeted interventions.
      tags:
        - Cohorts
      parameters:
        - name: status
          in: query
          schema:
            type: string
            enum:
              - active
              - inactive
              - draft
        - $ref: '#/components/parameters/PageOffset'
        - $ref: '#/components/parameters/PageLimit'
      responses:
        '200':
          description: List of cohorts
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Cohort'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createCohort
      summary: Orion Health Create a patient cohort
      description: >-
        Define a new patient cohort based on clinical criteria, demographics,
        diagnoses, or other population characteristics.
      tags:
        - Cohorts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CohortCreate'
      responses:
        '201':
          description: Cohort created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cohort'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /cohorts/{cohortId}:
    get:
      operationId: getCohort
      summary: Orion Health Get cohort details
      description: Retrieve details of a specific patient cohort including membership criteria.
      tags:
        - Cohorts
      parameters:
        - name: cohortId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Cohort details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cohort'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateCohort
      summary: Orion Health Update a cohort
      description: Update the definition or criteria of an existing patient cohort.
      tags:
        - Cohorts
      parameters:
        - name: cohortId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CohortCreate'
      responses:
        '200':
          description: Cohort updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cohort'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteCohort
      summary: Orion Health Delete a cohort
      description: Delete a patient cohort definition.
      tags:
        - Cohorts
      parameters:
        - name: cohortId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Cohort deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /cohorts/{cohortId}/analytics:
    get:
      operationId: getCohortAnalytics
      summary: Orion Health Get cohort analytics
      description: >-
        Retrieve analytics and aggregate statistics for a patient cohort
        including demographics, utilization, and outcome metrics.
      tags:
        - Analytics
        - Cohorts
      parameters:
        - name: cohortId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: metrics
          in: query
          description: Comma-separated list of metrics to include
          schema:
            type: string
        - name: periodStart
          in: query
          schema:
            type: string
            format: date
        - name: periodEnd
          in: query
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Cohort analytics data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CohortAnalytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /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'
  /quality-measures:
    get:
      operationId: listQualityMeasures
      summary: Orion Health List quality measures
      description: >-
        Retrieve healthcare quality measures being tracked, including
        HEDIS, CMS, and custom measures.
      tags:
        - Quality Measures
      parameters:
        - name: type
          in: query
          description: Measure framework
          schema:
            type: string
            enum:
              - hedis
              - cms
              - nqf
              - custom
        - name: status
          in: query
          schema:
            type: string
            enum:
              - active
              - inactive
        - $ref: '#/components/parameters/PageOffset'
        - $ref: '#/components/parameters/PageLimit'
      responses:
        '200':
          description: List of quality measures
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/QualityMeasure'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /quality-measures/{measureId}/results:
    get:
      operationId: getQualityMeasureResults
      summary: Orion Health Get quality measure results
      description: >-
        Retrieve performance results for a specific quality measure,
        including numerator, denominator, and compliance rates.
      tags:
        - Quality Measures
      parameters:
        - name: measureId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: periodStart
          in: query
          schema:
            type: string
            format: date
        - name: periodEnd
          in: query
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Quality measure results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualityMeasureResult'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /alerts:
    get:
      operationId: listAlerts
      summary: Orion Health List population health alerts
      description: >-
        Retrieve clinical and population health alerts such as care gap
        notifications, risk changes, and quality measure compliance alerts.
      tags:
        - Alerts
      parameters:
        - name: patientId
          in: query
          schema:
            type: string
        - name: type
          in: query
          schema:
            type: string
            enum:
              - care-gap
              - risk-change
              - quality-measure
              - utilization
              - custom
        - name: priority
          in: query
          schema:
            type: string
            enum:
              - low
              - medium
              - high
              - urgent
        - name: status
          in: query
          schema:
            type: string
            enum:
              - new
              - acknowledged
              - resolved
              - dismissed
        - $ref: '#/components/parameters/PageOffset'
        - $ref: '#/components/parameters/PageLimit'
      responses:
        '200':
          description: List of alerts
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Alert'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /alerts/{alertId}:
    put:
      operationId: updateAlert
      summary: Orion Health Update an alert
      description: Update the status of a population health alert.
      tags:
        - Alerts
      parameters:
        - name: alertId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  enum:
                    - acknowledged
                    - resolved
                    - dismissed
                note:
                  type: string
                  description: Optional note about the status change
      responses:
        '200':
          description: Alert updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /analytics/population-summary:
    get:
      operationId: getPopulationSummary
      summary: Orion Health Get population summary analytics
      description: >-
        Retrieve aggregate population health summary including demographics,
        top conditions, utilization patterns, and risk distribution.
      tags:
        - Analytics
      parameters:
        - name: registryId
          in: query
          description: Filter to a specific registry
          schema:
            type: string
            format: uuid
        - name: periodStart
          in: query
          schema:
            type: string
            format: date
        - name: periodEnd
          in: query
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Population summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PopulationSummary'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /analytics/utilization:
    get:
      operationId: getUtilizationAnalytics
      summary: Orion Health Get utilization analytics
      description: >-
        Retrieve healthcare utilization analytics including ED visits,
        hospital admissions, readmissions, and ambulatory utilization.
      tags:
        - Analytics
      parameters:
        - name: registryId
          in: query
          schema:
            type: string
            format: uuid
        - name: cohortId
          in: query
          schema:
            type: string
            format: uuid
        - name: periodStart
          in: query
          schema:
            type: string
            format: date
        - name: periodEnd
          in: query
          schema:
            type: string
            format: date
        - name: groupBy
          in: query
          description: Group results by time period
          schema:
            type: string
            enum:
              - day
              - week
              - month
              - quarter
              - year
      responses:
        '200':
          description: Utilization analytics data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UtilizationAnalytics'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.orionhealth.com/oauth2/token
          scopes:
            population-health:read: Read population health data
            population-health:write: Write population health data
            population-health:admin: Administrative access
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  parameters:
    PageOffset:
      name: offset
      in: query
      description: Number of items to skip
      schema:
        type: integer
        minimum: 0
        default: 0
    PageLimit:
      name: limit
      in: query
      description: Maximum number of items to return
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
  schemas:
    Registry:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
            - chronic-disease
            - preventive-care
            - behavioral-health
            - maternal-health
            - pediatric
            - custom
        status:
          type: string
          enum:
            - active
            - inactive
            - archived
        patientCount:
          type: integer
        criteria:
          type: object
          properties:
            conditions:
              type: array
              items:
                type: string
            ageRange:
              type: object
              properties:
                min:
                  type: integer
                max:
                  type: integer
            gender:
              type: array
              items:
                type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    RegistryPatient:
      type: object
      properties:
        patientId:
          type: string
        patientName:
          type: string
        dateOfBirth:
          type: string
          format: date
        gender:
          type: string
        riskLevel:
          type: string
          enum:
            - low
            - moderate
            - high
            - critical
        riskScore:
          type: number
        careStatus:
          type: string
          enum:
            - enrolled
            - active
            - completed
            - discharged
        primaryConditions:
          type: array
          items:
            type: string
        lastEncounterDate:
          type: string
          format: date
        assignedCareManager:
          type: string
    RiskScore:
      type: object
      properties:
        id:
          type: string
          format: uuid
        patientId:
          type: string
        model:
          type: string
        score:
          type: number
          description: Numeric risk score
        riskLevel:
          type: string
          enum:
            - low
            - moderate
            - high
            - critical
        factors:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              category:
                type: string
              weight:
                type: number
              description:
                type: string
        calculatedAt:
          type: string
          format: date-time
        validUntil:
          type: string
          format: date-time
    Cohort:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        description:
          type: string
        status:
          type: string
          enum:
            - active
            - inactive
            - draft
        criteria:
          $ref: '#/components/schemas/CohortCriteria'
        memberCount:
          type: integer
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    CohortCreate:
      type: object
      required:
        - name
        - criteria
      properties:
        name:
          type: string
        description:
          type: string
        criteria:
          $ref: '#/components/schemas/CohortCriteria'
    CohortCriteria:
      type: object
      properties:
        conditions:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              system:
                type: string
                enum:
                  - icd-10
                  - snomed
              status:
                type: string
        demographics:
          type: object
          properties:
            ageRange:
              type: object
              properties:
                min:
                  type: integer
                max:
                  type: integer
            gender:
              type: array
              items:
                type: string
            zipCodes:
              type: array
              items:
                type: string
        riskLevel:
          type: array
          items:
            type: string
            enum:
              - low
              - moderate
              - high
              - critical
        medications:
          type: array
          items:
            type: string
        utilizationCriteria:
          type: object
          properties:
            edVisits:
              type: object
              properties:
                min:
                  type: integer
                period:
                  type: string
            admissions:
              type: object
              properties:
                min:
                  type: integer
                period:
                  type: string
    CohortAnalytics:
      type: object
      properties:
        cohortId:
          type: string
          format: uuid
        memberCount:
          type: integer
        demographics:
          type: object
          properties:
            averageAge:
              type: number
            genderDistribution:
              type: object
              additionalProperties:
                type: integer
            ageDistribution:
              type: array
              items:
                type: object
                properties:
                  ageRange:
                    type: string
                  count:
                    type: integer
        topConditions:
          type: array
          items:
            type: object
            properties:
              condition:
                type: string
              code:
                type: string
              prevalence:
                type: number
              count:
                type: integer
        riskDistribution:
          type: object
          properties:
            low:
              type: integer
            moderate:
              type: 

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/orion/refs/heads/main/openapi/orion-population-health-openapi.yml