...
Note: The concept of the REF_CODE field used in EMDIS is replaced by the GUID referenceMessageId assigned by the central system to each message. The Message Response is supposed to be using the GUID referenceMessageId of the original message as the Reference ID in its structure.
...
| Send (Post) | Retrieve (Post) |
|---|
| MessageResponse | |
| Expand |
|---|
| | Field | Details |
|---|
| organisationResponse | | Expand |
|---|
| | Field | Details |
|---|
| retrievedAtUtc* | string($date-time) Server-supplied timestamp showing time of Message retrieval and storage in organisation's own systems | | referenceMessageId* | string($uuid) | | responseType* | string Enum: Array [ 3 ] | | remark | string
|
|
|
|
| | Expand |
|---|
| | limit | integer default: 100
| | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | | messageSequenceNumber | integer examplet: 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
...
Note: Since Warnings are going to be automated, we must keep Text Messages as the only means for user communication left.
Message structure:
| Send (Post) | Retrieve (Post) |
|---|
| textMessageRequest | |
| Expand |
|---|
| | Field | Details |
|---|
| text*requestingRegistryReferenceCode | string nullablemaxLength: 15 example:XX12345
| | text* | string nullable: true Text. Message for a human at receiving registry. | | receivingRegistry* | string maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of the receiving registry | | patient* | Patient ID | | donor* | Donor ID |
|
| | Expand |
|---|
| | limit | integer default: 100
| | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | | messageSequenceNumber | integer examplet: 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
...
Message structure:
| Send | Retrieve (Post) |
|---|
| AlertRetrieve |
| Alerts can only be sent by the WMDA's central system | | Expand |
|---|
| | limit | integer default: 100
| | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | | messageSequenceNumber | integer examplet: 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
| Expand |
|---|
| | Field | Details |
|---|
| generalInformation* | Embedded General Information Block | | originalMessage* | | Expand |
|---|
| | Field | Details |
|---|
| level | string alert level. enums may change Enum: Array [ 3 ] | | status | string check later Enum: Array [ 2 ] | | messagemessageText | string maxLength: 1024 example: WMDA will do maintenance on SMC system on the weekend of 10 march |
|
| | metaInformation* | Embedded Meta Block |
|
|
6.5 Alert Update message
...
Message structure:
| Send | Retrieve (Post) |
|---|
| AlertUpdateRetrieve |
| Alert updates can only be sent by the WMDA's central system | | Expand |
|---|
| | limit | integer default: 100
| | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval |
| expand| messageSequenceNumber | integer examplet: 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
| Expand |
|---|
| title | Response.. | title | Response... |
|---|
| | Field | Details |
|---|
| generalInformation* | Embedded General Information Block | | originalMessage* | | Expand |
|---|
| | Field | Details |
|---|
| alertReferenceIdentifier | string($uuid) | | level | string alert level. enums may change Enum: Array [ 3 ] | | status | string check later Enum: Array [ 2 ] | | message | string maxLength: 1024 example: WMDA will do maintenance on SMC system on the weekend of 10 march |
|
| | metaInformation | Embedded Meta Block |
|
|
6.6 Available Messages
The available messages endpoint is used for retrieving an array of This endpoint allows end users to retrieve an overview of all messages that are ready to be downloaded. This information can then be used to retrieve the messages from their respective *retrieve endpoints.
Message structure:
The chronological order of processing the messages should be arranged in the local system. This can be done by using the timestamps that are provided with the messages, as part of their meta information.
| Send | Retrieve |
|---|
availableMessages | N/A | RequestNo parameters specified| Expand |
|---|
|
| Field | Details |
|---|
| Details |
|---|
| totalMessages* | integer example: 6 Count |
|
|
totalMessages | integer
total sum | of messages that are ready for retrieval |
|
|
| messageType | string the message type Enum: Array [ 23 ] |
numberOfMessages | integer
number of messages that are ready for retrieval
| | messagesReadyForRetrieval* | Array: | attachment* | integer | | alert* | integer | | updatedPatient* | integer | | ping* | integer | | textMessage* | integer | | genericRequest* | integer example: 1
| | extendedTypingRequest* | integer example: 3
| | typingResponse* | integer | | sampleRequest* | integer example: 2
| | sampleInfo* | integer | | sampleArrival* | integer | | sampleResponse* | integer | | infectiousDiseaseMarkerRequest* | integer | | infectiousDiseaseMarkerResult* | integer | | reservationRequest* | integer | | reservationResponse* | integer | | reservationRelease* | integer | | requestCancellation* | integer | | requestRejected* | integer | | resultReminder* | integer | | messageResponse* | integer | | cordBloodUnitReportRequest* | integer | | cordBloodUnitReportResponse* | integer |
|
|
|
6.7 Available Messages 2
This endpoint allows end users to retrieve an overview of all messages that are ready to be downloaded, including their corresponding sequence numbers. This information can be used to retrieve the messages from their respective *retrieve endpoints. If desired, the messages can be pulled in chronological order, given by the sequence numbers. Each "retrieve" endpoint will have the optional parameter "sequenceNumber", that allows for an indivual collection of the corresponding message(s). If that parameter is left empty all available messages are retrieved (according to the limit set in the parameters).
| GET |
| availableMessages2 |
| Expand |
|---|
| | Field | Details |
|---|
| totalMessages* | integer example: 6 Count of messages that are ready for retrieval
| | messagesReadyForRetrieval* | | Expand |
|---|
| | Field | Details |
|---|
| messageResponse | Count integer, example: 6 sequenceNumbers integer, List 1, 18
| | alert* | Count integer sequenceNumbers integer | | updatedPatient* | Count integer sequenceNumbers integer | | ping* | Count integer sequenceNumbers integer | | textMessage* | Count integer sequenceNumbers integer | | genericRequest* | Count integer sequenceNumbers integer | | extendedTypingRequest* | Count integer sequenceNumbers integer | | typingResponse* | Count integer sequenceNumbers integer | | sampleRequest* | Count integer sequenceNumbers integer | | sampleInfo* | Count integer sequenceNumbers integer | | sampleArrival* | Count integer sequenceNumbers integer | | sampleResponse* | Count integer sequenceNumbers integer | | infectiousDiseaseMarkerRequest* | Count integer sequenceNumbers integer | | infectiousDiseaseMarkerResult* | Count integer sequenceNumbers integer | | reservationRequest* | Count integer sequenceNumbers integer | | reservationResponse* | Count integer sequenceNumbers integer | | reservationRelease* | Count integer sequenceNumbers integer | | requestCancellation* | Count integer sequenceNumbers integer | | requestRejected* | Count integer sequenceNumbers integer | | resultReminder* | Count integer sequenceNumbers integer | | cordBloodUnitReportRequest* | Count integer sequenceNumbers integer | | cordBloodUnitReportResponse* | Count integer sequenceNumbers integer |
|
|
|
|
6.7 Available Messages 3
This endpoint allows end users to retrieve an array of all messages that are ready to be downloaded, including their content. This would allow a registry to call just one endpoint to collect all messages.
Limitations:
This option does not work for all applications/tooling, like defining custom API connectors in the 365 PowerPlatform. In those cases the same static structure for all call responses on a specific endpoint is not only IBP, but also required.
| GET |
| availableMessages3 |
| Expand |
|---|
| | Field | Details |
|---|
| generalInformation* | | Expand |
|---|
| | Field | Details |
|---|
| limit* | integer default: 100
| | shouldPeek | boolean default: false
| | totalCount* | integer minimum: 0 example: 1
| | remainingCount* | integer minimum: 0 | | isSuccessful* | boolean default: true
| | summary* | string maxLength: 255 example: 1 message retrieved sucessully. 0 remaining messages
|
|
| | messages* | | Expand |
|---|
| | Field | Details |
|---|
| originalMessage* | oneOf: alert ping textMessageRequest genericRequest extededTypingRequest typingResponse sampleRequest sampleArrival sampleInfo sampleResponse infectiousDiseaseMarker infectiousDiseaseMarkerResult reservationRequest reservationResponse reservationRelease requestCancellation requestRejected resultReminder cordBloodUnitReportRequest cordBloodUnitReportResponse | | metaInformation* | {...} |
|
|
|
|