naftiko: 1.0.0-alpha2 info: label: Orion Health Rhapsody Integration API — Messages description: 'Orion Health Rhapsody Integration API — Messages. 4 operations. Lead operation: Orion Health Search messages. Self-contained Naftiko capability covering one Orion business surface.' tags: - Orion - Messages created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ORION_API_KEY: ORION_API_KEY capability: consumes: - type: http namespace: rhapsody-messages baseUri: https://api.orionhealth.com/rhapsody description: Orion Health Rhapsody Integration API — Messages business capability. Self-contained, no shared references. resources: - name: messages-search path: /messages/search operations: - name: searchmessages method: GET description: Orion Health Search messages outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string description: Full-text search query against message content - name: messageType in: query type: string description: HL7 message type (e.g., ADT^A01) - name: routeId in: query type: integer - name: status in: query type: string - name: dateFrom in: query type: string - name: dateTo in: query type: string - name: patientId in: query type: string description: Search by patient identifier in message content - name: messages-messageId path: /messages/{messageId} operations: - name: getmessage method: GET description: Orion Health Get message details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: messageId in: path type: integer required: true - name: includeBody in: query type: boolean description: Include message body content - name: messages-messageId-reprocess path: /messages/{messageId}/reprocess operations: - name: reprocessmessage method: POST description: Orion Health Reprocess a message outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: messageId in: path type: integer required: true - name: queues-queueId-messages path: /queues/{queueId}/messages operations: - name: listqueuemessages method: GET description: Orion Health List messages in a queue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: queueId in: path type: integer required: true - name: status in: query type: string authentication: type: bearer token: '{{env.ORION_API_KEY}}' exposes: - type: rest namespace: rhapsody-messages-rest port: 8080 description: REST adapter for Orion Health Rhapsody Integration API — Messages. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/messages/search name: messages-search description: REST surface for messages-search. operations: - method: GET name: searchmessages description: Orion Health Search messages call: rhapsody-messages.searchmessages with: query: rest.query messageType: rest.messageType routeId: rest.routeId status: rest.status dateFrom: rest.dateFrom dateTo: rest.dateTo patientId: rest.patientId outputParameters: - type: object mapping: $. - path: /v1/messages/{messageid} name: messages-messageid description: REST surface for messages-messageId. operations: - method: GET name: getmessage description: Orion Health Get message details call: rhapsody-messages.getmessage with: messageId: rest.messageId includeBody: rest.includeBody outputParameters: - type: object mapping: $. - path: /v1/messages/{messageid}/reprocess name: messages-messageid-reprocess description: REST surface for messages-messageId-reprocess. operations: - method: POST name: reprocessmessage description: Orion Health Reprocess a message call: rhapsody-messages.reprocessmessage with: messageId: rest.messageId outputParameters: - type: object mapping: $. - path: /v1/queues/{queueid}/messages name: queues-queueid-messages description: REST surface for queues-queueId-messages. operations: - method: GET name: listqueuemessages description: Orion Health List messages in a queue call: rhapsody-messages.listqueuemessages with: queueId: rest.queueId status: rest.status outputParameters: - type: object mapping: $. - type: mcp namespace: rhapsody-messages-mcp port: 9090 transport: http description: MCP adapter for Orion Health Rhapsody Integration API — Messages. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: orion-health-search-messages description: Orion Health Search messages hints: readOnly: true destructive: false idempotent: true call: rhapsody-messages.searchmessages with: query: tools.query messageType: tools.messageType routeId: tools.routeId status: tools.status dateFrom: tools.dateFrom dateTo: tools.dateTo patientId: tools.patientId outputParameters: - type: object mapping: $. - name: orion-health-get-message-details description: Orion Health Get message details hints: readOnly: true destructive: false idempotent: true call: rhapsody-messages.getmessage with: messageId: tools.messageId includeBody: tools.includeBody outputParameters: - type: object mapping: $. - name: orion-health-reprocess-message description: Orion Health Reprocess a message hints: readOnly: false destructive: false idempotent: false call: rhapsody-messages.reprocessmessage with: messageId: tools.messageId outputParameters: - type: object mapping: $. - name: orion-health-list-messages-queue description: Orion Health List messages in a queue hints: readOnly: true destructive: false idempotent: true call: rhapsody-messages.listqueuemessages with: queueId: tools.queueId status: tools.status outputParameters: - type: object mapping: $.