Orion Health Risk Stratification API

Patient risk scoring and stratification

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

orion-risk-stratification-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Orion Health FHIR Alerts Risk Stratification 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: Risk Stratification
  description: Patient risk scoring and stratification
paths:
  /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'
components:
  schemas:
    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
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string
    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'
    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