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