Orion Health Lookup Tables API

Lookup table management for data mapping

OpenAPI Specification

orion-lookup-tables-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Orion Health FHIR Alerts Lookup Tables 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: Lookup Tables
  description: Lookup table management for data mapping
paths:
  /lookup-tables:
    get:
      operationId: listLookupTables
      summary: Orion Health List lookup tables
      description: Retrieve lookup tables used for data transformation and mapping within integration routes.
      tags:
      - Lookup Tables
      parameters:
      - name: search
        in: query
        description: Search by table name
        schema:
          type: string
      - $ref: '#/components/parameters/PageOffset'
      - $ref: '#/components/parameters/PageLimit'
      responses:
        '200':
          description: List of lookup tables
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/LookupTable'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /lookup-tables/{tableId}:
    get:
      operationId: getLookupTable
      summary: Orion Health Get lookup table contents
      description: Retrieve the contents of a specific lookup table.
      tags:
      - Lookup Tables
      parameters:
      - name: tableId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Lookup table contents
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupTableDetail'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateLookupTable
      summary: Orion Health Update lookup table contents
      description: Replace the contents of a lookup table.
      tags:
      - Lookup Tables
      parameters:
      - name: tableId
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LookupTableUpdate'
      responses:
        '200':
          description: Lookup table updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupTableDetail'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /lookup-tables/{tableId}/lookup:
    get:
      operationId: lookupValue
      summary: Orion Health Look up a value
      description: Look up a value in a specific lookup table by key.
      tags:
      - Lookup Tables
      parameters:
      - name: tableId
        in: path
        required: true
        schema:
          type: integer
      - name: key
        in: query
        required: true
        description: Lookup key
        schema:
          type: string
      - name: column
        in: query
        description: Column name to return
        schema:
          type: string
      responses:
        '200':
          description: Lookup result
          content:
            application/json:
              schema:
                type: object
                properties:
                  key:
                    type: string
                  value:
                    type: string
                  row:
                    type: object
                    additionalProperties:
                      type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Key not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  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'
  schemas:
    LookupTableDetail:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        description:
          type: string
        columns:
          type: array
          items:
            type: string
        rows:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
        lastModified:
          type: string
          format: date-time
    LookupTable:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        description:
          type: string
        columnCount:
          type: integer
        rowCount:
          type: integer
        lastModified:
          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
    LookupTableUpdate:
      type: object
      required:
      - columns
      - rows
      properties:
        columns:
          type: array
          items:
            type: string
        rows:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
    Pagination:
      type: object
      properties:
        offset:
          type: integer
        limit:
          type: integer
        total:
          type: integer
        hasMore:
          type: boolean
  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