
A patient registration embedded block will be sent together with each request. This block contains both wmdaId and patientId of the patient.
The donor requested has to be reserved at the remote hub and reported back to the requesting hub / patient registry by an embedded donor block with the donor status reflecting the change (DONOR_CB with D_STATUS = ”RS”).
ReferenceCode: In order to couple messages to the same request, e.g. VT request (SMP_REQ) and its results (SMP_ARR, SMP_RES) all messages following the request must have a referenceCode as part of the message.
The message ID (correlationGUID) of the request message (TYP_REQ, IDM_REQ, SMP_REQ, RSV_REQ, etc...) will be used as the 'referenceCode' for the rest of the request related message flow.
5.1 - Extended
This message is used to request an extended typing of a donor (adult, adcu, cbu?). It will primarily contain information about what to type and for which donor.
Added to that a patient block (ref?) containing up-to-date information about the patient, and an address block (ref?) containing up-to-date contact-information about the needed institution(s).
Expected return message is 'typing result' (5.2) or 'request rejected' (5.14).
Check paragraph '5.18 Extended Typing' for the related message flow.
Send | Retrieve |
TypingRequestRequest | TypingRequestRetrieve |
Field | Details |
---|
request | Field | Details |
---|
requestDate* | string($date-time) Request date REQ_DATE Req 8 yyyy-MM-dd [or yyyyMMdd] | resolutionRequired* | string maxLength: 11 minLength: 11 example: HHHHMMM-H-HCharacter string with fixed length in which each position represents a HLA locus. The coding of the resolution required for every position is: S = serological L = DNA low resolution M = DNA medium resolution H = DNA high resolution - (hyphen) = not requested The character string is interpreted from left to right, with position 1 as the leftmost position. The positions for the HLA loci are defined as: Position 1: HLA-A Position 2: HLA-B Position 3: HLA-C Position 4: HLA-DRB1 Position 5: HLA-DRB3 Position 6: HLA-DRB4 Position 7: HLA-DRB5 Position 8: HLA-DQA1 Position 9: HLA-DQB1 Position 10: HLA-DPA1 Position 11: HLA-DPB1 | urgent* | boolean Urgent request URGENT Opt 1 | remark | string maxLength: 120 nullable: true example: patient case is very urgentRemark REMARK Opt 120 |
|
| address | Embedded Address Block | recipient | integer maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | patient | Embedded Patient Block | donor | Embedded Donor Block |
|
| |
Rules
Examples for field resolutionRequired:
HLA-DRB1 low resolution:
---L-------
HLA-DRB1 serological:
---S-------
HLA-DRB1 high resolution:
---H-------
HLA-DRB1 and HLA-DQB1 high resolution:
---H----H--
Intermediate resolution (M) translates to the non-high resolution.
The coding schema theoretically allows more combinations than the previous bitstring (e.g. non-high DRB1 typing). The actually valid combinations have to be published in the national rules of each registry. The local user interfaces will have to take care that no invalid or previously undefined requests are issued.
Combinations are possible, i.e. several loci may be requested in one message.
The appropriate action if the typing request cannot be accepted or has to be changed by the recipient, e.g. due to national rules, is to inform the requesting side what was done. If only the resolution was changed (the sender will receive something different than ordered - either more or less) or only a part of the requested loci were accepted (the sender will only receive parts of what was ordered): send a MSG_RSP containing the warning.
5.2 - Extended
This message is used to send the results of the initial ET request back to the requesting registry.
Check paragraph '5.18 Extended Typing' for the related message flows.
Send | Retrieve |
TypingResponseRequest | TypingResponseRetrieve |
Field | Details |
---|
response | Field | Details |
---|
referenceCode | string($uuid) | hlaNomenclatureVersion | string default: 3Major version of HLA Nomenclature HLA_NOM_VER Req 7 | etSampleType | string nullable: trueType of sample. AS = CBU Contiguous Attached Segment WB = Whole Blood Sample RC = Red Cell Fraction (pellet) FP = Blood Spotted Filter Paper ED = Extracted DNA Enum: Array [ 5 ] | remark | string maxLength: 120 nullable: true example: patient case is very urgentRemark REMARK Opt 120 |
|
| recipient | integer maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | donor | Embedded Donor Block | patient | Embedded Patient Block |
|
| |
Rules
After the TypingResults (TYP_RES) message which includes an embedded donor (DONOR_CB) block, a separate update must be made to the Search & Match system with the to ensure up-to-date master data. More information on how to do so may be found here.
5.3 - Request
The SampleRequestRequest (and SampleRequestRetrieve) is used to request a VT for a specific donor/product for a patient. The message, as all requests, has an embedded 'register_patient' part. Next to the actual request information the institutions needed are sent explicitly as an embedded 'addressBlock' (6.1).
The messageId of this message will be used as 'referenceCode' for the rest of the request related message flow.
EMDIS Semantic:
The fields ”earliest and latest date of sample reception” represent the lower and upper limit of a period of time in which the blood sample has to be received. If the second date is missing the sample may be received any time after the first date.
The field ACC_DAYS is a binary field with position 1 corresponding to Monday and position 7 corresponding to Sunday. A set bit means acceptable day, an unset bit means not acceptable day. For example, 1110000 means acceptable days for reception are Monday, Tuesday and Wednesday, not acceptable days are Thursday, Friday, Saturday and Sunday. The default value is 1111100 (accept all working days).
The quantity for the first product is optional when requesting DNA from a cord blood unit. In all other requests, the quantity fields for any of the corresponding product fields are required if a product is requested.
Number of tubes requested in a sample request or marrow request:
The maximum amount of material, requested in one sample request or pre-collection sample request, is 100 ml, if not stated otherwise in the national rules. If the number of tubes is unassigned, not given in the request, the default value number of tubes is one.
Send | Retrieve |
---|
SampleRequestRequest (comments refer to changes to the current API definition) | SampleRequestRetrieve |
Field | Details |
---|
request | requestDate | string($date-time) Request date REQ_DATE Req 8 yyyy-MM-dd [or yyyyMMdd] | prod1 | {...} | prod2 | {...} | prod3 | {...} | prod4 | {...} | earliestDateCanReceive | string($date-time) Earliest date of sample reception REC_DATE1 Req 8 yyyy-MM-dd [or yyyyMMdd] | latestDateCanReceive | string($date-time) nullable: trueLatest date of sample reception REC_DATE2 Opt 8 yyyy-MM-dd [or yyyyMMdd] | acceptableReceptionDaysOfWeek | integer nullable: true minLength: 7 maxLength: 7 example: 1111100Weekdays acceptable for reception. Binary fixed length string for the 7 days in the week. 1110000 means acceptable days for reception are Monday, Tuesday and Wednesday, not acceptable days are Thursday, Friday, Saturday or Sunday. | institutionToSendSampleTo | Embedded Address Block | institutionPaying | Embedded Address Block | urgent | boolean Urgent request URGENT Opt 1 | acknowledgementId | string maxLength: 17 nullable: true example: 1234567890abcdefgAcknowledgement ID ACK_ID Opt 17 | remark | string maxLength: 120 nullable: true example: patient case is very urgentRemark REMARK Opt 120 |
|
| recipient | integer maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | patient* | Embedded Patient Block | donor | Embedded Donor Block |
|
| |
5.4 - Sample Information
The SampleInfoRequest (and SampleInfoRetrieve) is used to sent relevant secondary information which may arise in the context of sample request.
EMDIS Semantic:
- The SMP_INFO message can only be exchanged in one direction: from donor side to patient side.
- Sample information is always referencing a sample request.
- Sample information is only valid as long as the referenced sample request is considered as ”open” or the donor is reserved for this patient after the sample request.
- A request is considered as ”open” as long as registry has neither reported the sample result nor a ”service cannot be performed (NO_RES)” information nor a request cancellation.
- There might be several sample information messages within the context of one sample request. Subsequent sample information is regarded as new or additional information and not as updates.
Send | Retrieve |
SampleInfoRequest (comments refer to changes to the current API definition) | SampleInfoRetrieve |
referenceCode* | string($uuid) | informationType* | string maxLength: 3 minLength: 3Information Type INFO_TYPE Req 3 Enum: Array [ 12 ] | remark | string nullable: trueRemark REMARK Opt 120 | recipient | integer maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | patient* | Embedded Patient Block | donor* | Embedded Donor Block |
|
| |
5.5 - Sample Arrival
The SampleArrivalRequest (and SampleArrivalRetrieve) is used to transmit proposed date of sample arrival.
The messageId of this message will be used as 'referenceCode' for the rest of the request related message flow.
EMDIS Semantic:
This message is sent in response to a SMP_REQ and indicates the arrival date of the sample.
Send | Retrieve |
SampleArrivalRequest (comments refer to changes to the current API definition) | SampleArrivalRetrieve |
Field | Details | message | Field | Details |
---|
referenceCode* | string($uuid) | arrivalDate* | string($date-time) Proposed date of sample arrival ARRV_DATE Req 8 | collectionDate | string($date-time) nullable: trueDonor blood collection date COLL_DATE Opt 8 | labelId* | string maxLength: 19Verbatim verification typing (VT) sample label ID D_LABEL_ID Req 19 | etSampleType | string nullable: trueType of sample. AS = CBU Contiguous Attached Segment WB = Whole Blood Sample RC = Red Cell Fraction (pellet) FP = Blood Spotted Filter Paper ED = Extracted DNA Enum: Array [ 5 ] | remark | string maxLength: 120 nullable: true example: patient case is very urgentRemark REMARK Opt 120 |
|
| recipient | integer maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | patient | Embedded Patient Block | donor | Embedded Donor Block |
|
| |
5.6 - Sample Results
The SampleResponseRequest (and SampleResponseRetrieve) is used to transmit the results of the sample request.
The messageId of this message will be used as 'referenceCode' for the rest of the request related message flow.
DON_ACCPT = ”N” means: donor can be released immediately.
DON_ACCPT = ”Y” means: please reserve the donor according to your national rules.
EMDIS Semantic:
The fields for the infectious disease markers are included in this message in order to give the transplant centres the possibility to report the results of IDMs they might have tested.
If no SMP_RES can be sent then a NO_RES should be sent with the reason field populated to explain why.
Send | Retrieve |
SampleResponseRequest (comments refer to changes to the current API definition) | SampleResponseRetrieve |
Field | Details |
---|
response | Field | Details |
---|
referenceCode* | string($uuid) | hlaNomenclatureVersion* | string default: 3Major version of HLA Nomenclature HLA_NOM_VER Req 7 | hla | {...} | idm | {...} | abo | string nullable: trueEnum: Array [ 4 ] | rhesus | string nullable: trueEnum: Array [ 2 ] | donorStillOfInterest | string maxLength: 1Donor still of interest DON_ACCPT Req 1 Enum: Array [ 2 ] |
|
| recipient | integer maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | patient | Embedded Patient Block | donor | Embedded Donor Block |
|
| |
5.7 - Infectious Disease Marker Request
This message is used to request infectious disease marker test results of the selected donor. Expected return message is 'idm result' (5.8) or 'request rejected' (5.15).
Send | Retrieve |
InfectiousDiseaseMarkerRequest | InfectiousDiseaseMarkerRequestRetrieve |
Field | Details |
---|
referenceCode* | string($uuid) | markerAsArray | [...] | marker* | integer maxLength: 19 minLength: 19 example: 111110000111Binary fixed length string in which each position represents a test to be requested: Position 1: Blood group and rhesus Position 2: CMV status Position 3: Toxoplasmosis Position 4: EBV Position 5: HIV status Position 6: HIV P24 Position 7: Hepatitis B surface antigen Position 8: Antibody to Hepatitis B surface antigen Position 9: Antibody to Hepatitis B core antigen Position 10: Antibody to Hepatitis C virus Position 11: Lues status (Treponema pallidum) Position 12: ALT status Position 13: Antibody to HTLV1.V2 | institutionPaying* | {...} | acknowledgementId | string maxLength: 17 nullable: true example: 1234567890abcdefgAcknowledgement ID ACK_ID Opt 17 | remark | string maxLength: 120 nullable: true example: Please also test for SARS-CoV-2Remark REMARK Opt 120 | recipient | integer maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | patient | Embedded Patient Block | donor | Embedded Donor Block |
|
| |
5.8 - Infectious Disease Marker Results
This message is used to send the results of the IDM request back to the requesting registry.
Check paragraph '5.18 Infectious Disease Marker' for the related message flow.
| Retrieve |
InfectiousDiseaseMarkerResultRequest | InfectiousDiseaseMarkerResultRetrieve |
Field | Details |
---|
referenceCode* | string($uuid) | markerAsArray | [...] | marker | integer maxLength: 19 minLength: 19 example: 111110000111Binary fixed length string in which each position represents a test to be requested: Position 1: Blood group and rhesus Position 2: CMV status Position 3: Toxoplasmosis Position 4: EBV Position 5: HIV status Position 6: HIV P24 Position 7: Hepatitis B surface antigen Position 8: Antibody to Hepatitis B surface antigen Position 9: Antibody to Hepatitis B core antigen Position 10: Antibody to Hepatitis C virus Position 11: Lues status (Treponema pallidum) Position 12: ALT status Position 13: Antibody to HTLV1.V2 | sampleExtractionDate | string($date-time) nullable: trueDate of sample extraction D_EXTR_DATE Opt 8 | donorCcr5Status | string maxLength: 2 nullable: trueDonor CCR5 status D_CCR5 Opt 2 | donorWeightKg | integer($int32) maximum: 999 minimum: 0 nullable: trueDonor weight in kilograms D_WEIGHT Opt 3 | donorHeightCm | integer($int32) maximum: 999 minimum: 0 nullable: true example: 175Donor height in centimetres D_HEIGHT Opt 3 | numberOfTransfusions | integer($int32) maximum: 9 minimum: 0 nullable: trueNumber of transfusions D_NMBR_TRANS Opt 1 | numberOfPregnancies | integer($int32) maximum: 9 minimum: 0 nullable: trueNumber of pregnancies D_NMBR_PREG Opt 1 | idm | {...} | remark | string maxLength: 120 nullable: trueRemark REMARK Opt 120 | recipient | integer maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | donor* | Embedded Donor Block | patient* | Embedded Patient Block |
|
| |
Rules
This message is used to request the reservation of a donor for transplant at the receiving registry.
Send | Retrieve |
| ReservationRequestRetrieve |
Field | Details |
---|
payload* | Field | Details |
---|
patient* | Embedded Patient Block | donor | Embedded Donor Block | requestDate* | string($date-time) Request date REQ_DATE Req 8 yyyy-MM-dd [or yyyyMMdd] | referenceCode* | string($uuid) | expirationDate | string($date-time) nullable: trueRequest date EXPI_DATE Opt 8 yyyy-MM-dd [or yyyyMMdd] | acknowledgementId | string maxLength: 17 nullable: true example: 1234567890abcdefgAcknowledgement ID ACK_ID Opt 17 | remark | string maxLength: 120 nullable: trueRemark REMARK Opt 120 |
|
| recipient* | string maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | correlationGuid* | string($uuid) Sender generated GUID used to correlate response acknowledgement |
|
| |
5.10 - Reservation Result
This message is used to notify the requesting patient registry if the Reservation Request has been confirmed by the donor registry.
Send | Retrieve |
ReservationResultRequest | ReservationResultRetrieve |
Field | Details |
---|
sender* | string maxLength: 4 minLength: 4 example: 56784 digit ION of sender | sentAtUtc* | string($date-time) Server-supplied timestamp showing UTC time sender posted (i.e. sent) MessageRequest. | deliveredAtUtc* | string($date-time) Server-supplied timestamp showing UTC time of Message delivery to recipient's inbox queue. | payload* | Field | Details |
---|
patient* | {...} | donor* | {...} | referenceCode* | string($uuid) | expirationDate | string($date-time) nullable: trueDate expiration of reservation EXPI_DATE Opt 8 yyyy-MM-dd [or yyyyMMdd] | confirmed* | boolean Confirmation of reservation CONFIRM Req 1 | remark | string maxLength: 120 nullable: trueRemark REMARK Opt 120 |
|
| recipient* | string maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | correlationGuid* | string($uuid) Sender generated GUID used to correlate response acknowledgement | messageType | string Message types supported by WmdaConnect Enum: Array [ 21 ] |
|
| |
Rules
After the ReservationResult (RSV_RES) message which includes an embedded donor (DONOR_CB) block, a separate update must be made to the Search & Match system with the updated donor data to ensure up-to-date master data.
This message is used so the patient registry can notify the donor registry to release a donor reservation when it is no longer needed (e.g. patient deceased or was transplanted with another donor). This should be used if the Reservation Request has been fulfilled, if the Reservation Request has not been fulfilled then a Request Cancellation message should be used.
This is a change request with respect to the current procedure and should be handled as such as it has implications on local systems.
Send | Retrieve |
ReservationReleaseRequest | ReservationReleaseRetrieve |
Field | Details |
---|
sender* | string maxLength: 4 minLength: 4 example: 56784 digit ION of sender | sentAtUtc* | string($date-time) Server-supplied timestamp showing UTC time sender posted (i.e. sent) MessageRequest. | deliveredAtUtc* | string($date-time) Server-supplied timestamp showing UTC time of Message delivery to recipient's inbox queue. | payload* | Field | Details |
---|
patient* | Embedded Patient Block | donor* | Embedded Donor Block | referenceCode* | string($uuid) | requestType* | string maxLength: 3Type of request REQ_TYPE Req 3 | reason | string maxLength: 3 minLength: 3 nullable: trueReason of request cancellation REASON_CNCL Opt 3 | remark | string maxLength: 120 nullable: trueRemark REMARK Opt 120 |
|
| recipient* | string maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | correlationGuid* | string($uuid) Sender generated GUID used to correlate response acknowledgement | messageType | string Message types supported by WmdaConnect Enum: Array [ 21 ] |
|
| |
Rules
After the Reservation Release message which includes an embedded donor (DONOR_CB) block, a separate update must be made to the Search & Match system with the updated donor data to ensure up-to-date master data.
5.12 - Workup Request
Future Phase
5.13 - Workup Status
Future Phase
5.14 - Request Cancellation
This message is used to cancel a previous request that has been sent to the donor registry. The Request It must have a preceding request that is being cancelled.
Send | Retrieve |
RequestCancellationRequest | RequestCancellationRetrieve |
Field | Details |
---|
sender* | string maxLength: 4 minLength: 4 example: 56784 digit ION of sender | sentAtUtc* | string($date-time) Server-supplied timestamp showing UTC time sender posted (i.e. sent) MessageRequest. | deliveredAtUtc* | string($date-time) Server-supplied timestamp showing UTC time of Message delivery to recipient's inbox queue. | payload* | Field | Details |
---|
patient* | Embedded Patient Block | donor* | Embedded Donor Block | referenceCode* | string($uuid) | requestType* | string maxLength: 3Type of request REQ_TYPE Req 3 | reason | string maxLength: 3 minLength: 3 nullable: trueReason of request cancellation REASON_CNCL Opt 3 | remark | string maxLength: 120 nullable: trueRemark REMARK Opt 120 |
|
| recipient* | string maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | correlationGuid* | string($uuid) Sender generated GUID used to correlate response acknowledgement | messageType | string Message types supported by WmdaConnect Enum: Array [ 21 ] |
|
| |
5.15 - Request Rejected
This message is used to notify the requesting registry when a request cannot be fulfilled.
Send | Retrieve |
| RequestRejectedRetrieve |
Field | Details |
---|
payload* | Field | Details |
---|
patient* | Embedded Patient Block | donor* | Embedded Donor Block | referenceCode* | string($uuid) | requestType* | string maxLength: 3Type of request REQ_TYPE Req 3 | reason* | string maxLength: 3 minLength: 2Reason REASON Req 3 | remark | string maxLength: 120 nullable: trueRemark REMARK Opt 120 |
|
| recipient* | string maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | correlationGuid* | string($uuid) Sender generated GUID used to correlate response acknowledgement |
|
| |
Rules
After the Request Rejected message which includes an embedded donor (DONOR_CB) block, a separate update must be made to the Search & Match system with the updated donor data to ensure up-to-date master data
5.16 - Result Reminder
Send | Retrieve |
ResultReminderRequest | ResultReminderRetrieve |
Field | Details |
---|
sender* | string maxLength: 4 minLength: 4 example: 56784 digit ION of sender | sentAtUtc* | string($date-time) Server-supplied timestamp showing UTC time sender posted (i.e. sent) MessageRequest. | deliveredAtUtc* | string($date-time) Server-supplied timestamp showing UTC time of Message delivery to recipient's inbox queue. | payload* | Field | Details |
---|
patient | Embedded Patient Block | donor | Embedded Donor Block | requestDate | string($date-time) nullable: trueRequest date REQ_DATE Opt 8 yyyy-MM-dd [or yyyyMMdd] | referenceCode* | string($uuid) | resultType* | string maxLength: 9Type of result reminded RES_TYPE Req 9 | expirationDate | string($date-time) nullable: trueRequest date EXPI_DATE Opt 8 yyyy-MM-dd [or yyyyMMdd] | remark | string maxLength: 120 nullable: trueRemark REMARK Opt 120 |
|
| recipient* | string maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of recipient | correlationGuid* | string($uuid) Sender generated GUID used to correlate response acknowledgement | messageType | string Message types supported by WmdaConnect Enum: Array [ 21 ] |
|
| |
5.17 - Generic Request
Used for registering a patient (by the embedded patientBlock).
Is used for example for direct WU requests or to reactivate a closed patient case on receiving registry side.
Sample Request