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
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