Exec-Once Message Persistence
IMessagePersistenceService
in assembly SanteDB.Core.Api version 3.0.1980.0
Summary
Identifies a service which maintains a log of messages received to ensure that actions are only processed once
Description
In a health context, certain types of messages which represent data triggers (such as an admit, discharge, order, etc.) may trigger a business process which, in turn, kicks off another business process. Sometimes this process can take a long time to complete, or (due to network issues) the caller may disconnect prior to receiving a response. This service is responsible for storing that a message has been received by the SanteDB infrastructure and is currently being (or was already) processed, and allows SanteDB to simply return the already executed message back to the caller.
Note: This service is only currently used by the HL7v2 service
Operations
Operation | Response/Return | Input/Parameter | Description |
---|---|---|---|
GetMessageState | MessageState | String messageId | Get the current state of a message processing by the unique identifier of the message |
PersistMessage | void | String messageId Stream message | Instructs the message persistence service to store an inbound message |
PersistMessageInfo | void | MessageInfo message | Persist metadata about the message |
GetMessageResponseMessage | Stream | String messageId | Get the response to the supplied request message identifier |
GetMessage | Stream | String messageId | Get a message body by message identifier |
PersistResultMessage | void | String messageId String respondsToId Stream response | Persist the result of a message request (i.e. the result of the request) |
GetMessageIds | IEnumerable<String> | DateTime from DateTime to | Get all message ids between the specified time(s) |
GetMessageInfo | MessageInfo | String messageId | Get message extended attributes |
Implementations
None
Example Implementation
References
Last updated