openapi: 3.1.0 info: title: Orion Health FHIR Alerts Message Queues 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: Message Queues description: Message queue monitoring and management paths: /queues: get: operationId: listQueues summary: Orion Health List message queues description: Retrieve all message queues in the Rhapsody engine with their current depth and status. tags: - Message Queues parameters: - name: routeId in: query description: Filter by route ID schema: type: integer - name: hasErrors in: query description: Only show queues with errors schema: type: boolean - $ref: '#/components/parameters/PageOffset' - $ref: '#/components/parameters/PageLimit' responses: '200': description: List of message queues content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Queue' pagination: $ref: '#/components/schemas/Pagination' '401': $ref: '#/components/responses/Unauthorized' /queues/{queueId}: get: operationId: getQueue summary: Orion Health Get queue details description: Retrieve details of a specific message queue. tags: - Message Queues parameters: - name: queueId in: path required: true schema: type: integer responses: '200': description: Queue details content: application/json: schema: $ref: '#/components/schemas/QueueDetail' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /queues/{queueId}/messages: get: operationId: listQueueMessages summary: Orion Health List messages in a queue description: Retrieve messages currently held in a specific queue. tags: - Message Queues parameters: - name: queueId in: path required: true schema: type: integer - name: status in: query schema: type: string enum: - queued - error - held - $ref: '#/components/parameters/PageOffset' - $ref: '#/components/parameters/PageLimit' responses: '200': description: List of messages content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Message' pagination: $ref: '#/components/schemas/Pagination' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: 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 schemas: Error: type: object properties: code: type: string message: type: string details: type: array items: type: object properties: field: type: string message: type: string QueueDetail: type: object properties: id: type: integer name: type: string routeId: type: integer routeName: type: string depth: type: integer errorCount: type: integer heldCount: type: integer maxDepth: type: integer oldestMessageTime: type: string format: date-time averageWaitTimeMs: type: number throughputPerSecond: type: number Message: type: object properties: id: type: integer messageType: type: string description: HL7 message type (e.g., ADT^A01, ORM^O01) status: type: string enum: - processed - error - held - queued routeId: type: integer routeName: type: string receivedAt: type: string format: date-time processedAt: type: string format: date-time size: type: integer description: Message size in bytes errorMessage: type: string Queue: type: object properties: id: type: integer name: type: string routeId: type: integer routeName: type: string depth: type: integer description: Number of messages in the queue errorCount: type: integer heldCount: type: integer oldestMessageTime: type: string format: date-time Pagination: type: object properties: offset: type: integer limit: type: integer total: type: integer hasMore: type: boolean 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