openapi: 3.1.0 info: title: Orion Health FHIR Alerts Notifications 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: Notifications description: Admission, discharge, and transfer notifications paths: /notifications: get: operationId: listNotifications summary: Orion Health List ADT notifications description: Retrieve admission, discharge, and transfer (ADT) notifications for subscribed patients and organizations. tags: - Notifications parameters: - name: patientId in: query schema: type: string - name: type in: query schema: type: string enum: - admission - discharge - transfer - registration - name: organization in: query schema: type: string - name: dateFrom in: query schema: type: string format: date-time - name: dateTo in: query schema: type: string format: date-time - name: status in: query schema: type: string enum: - pending - delivered - read - failed - $ref: '#/components/parameters/PageOffset' - $ref: '#/components/parameters/PageLimit' responses: '200': description: List of notifications content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Notification' pagination: $ref: '#/components/schemas/Pagination' '401': $ref: '#/components/responses/Unauthorized' /notifications/subscriptions: get: operationId: listNotificationSubscriptions summary: Orion Health List notification subscriptions description: Retrieve current ADT notification subscriptions. tags: - Notifications responses: '200': description: List of subscriptions content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/NotificationSubscription' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createNotificationSubscription summary: Orion Health Create a notification subscription description: Subscribe to ADT notifications for specific patients, organizations, or event types. tags: - Notifications requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NotificationSubscriptionCreate' responses: '201': description: Subscription created content: application/json: schema: $ref: '#/components/schemas/NotificationSubscription' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' components: schemas: NotificationSubscriptionCreate: type: object required: - eventTypes - callbackUrl properties: eventTypes: type: array items: type: string enum: - admission - discharge - transfer - registration patientIds: type: array items: type: string sourceOrganizations: type: array items: type: string callbackUrl: type: string format: uri Error: type: object properties: code: type: string message: type: string details: type: array items: type: object properties: field: type: string message: type: string Notification: type: object properties: id: type: string format: uuid type: type: string enum: - admission - discharge - transfer - registration patientId: type: string patientName: type: string sourceOrganization: type: string sourceOrganizationName: type: string facility: type: string eventDate: type: string format: date-time status: type: string enum: - pending - delivered - read - failed details: type: object properties: admitReason: type: string dischargeDisposition: type: string attendingProvider: type: string department: type: string createdAt: type: string format: date-time NotificationSubscription: type: object properties: id: type: string format: uuid eventTypes: type: array items: type: string enum: - admission - discharge - transfer - registration patientIds: type: array items: type: string description: Specific patient IDs to monitor (empty means all) sourceOrganizations: type: array items: type: string callbackUrl: type: string format: uri status: type: string enum: - active - paused - disabled createdAt: type: string format: date-time 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 responses: 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' 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