Orion Health · Capability

Orion Health Rhapsody Integration API — Messages

Orion Health Rhapsody Integration API — Messages. 4 operations. Lead operation: Orion Health Search messages. Self-contained Naftiko capability covering one Orion business surface.

Run with Naftiko OrionMessages

What You Can Do

GET
Searchmessages — Orion Health Search messages
/v1/messages/search
GET
Getmessage — Orion Health Get message details
/v1/messages/{messageid}
POST
Reprocessmessage — Orion Health Reprocess a message
/v1/messages/{messageid}/reprocess
GET
Listqueuemessages — Orion Health List messages in a queue
/v1/queues/{queueid}/messages

MCP Tools

orion-health-search-messages

Orion Health Search messages

read-only idempotent
orion-health-get-message-details

Orion Health Get message details

read-only idempotent
orion-health-reprocess-message

Orion Health Reprocess a message

orion-health-list-messages-queue

Orion Health List messages in a queue

read-only idempotent

Capability Spec

rhapsody-messages.yaml Raw ↑
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: $.