...
A patient registration embedded block is sent together with each request. This block contains both the wmdaId and the patientId of the patient.
- Next to the actual request information, whenever the institutions are needed, they are sent explicitly as an Embedded Address Block.
The requested donor has to be reserved at the remote hub and reported back to the requesting registry by an embedded donor block with the donor status reflecting the change (a.k.a. DONOR_CB with D_STATUS = ”RS”).
- All changes in the donors (change of status, updated typing, or IDMs) resulting from the requests are reported back in an embedded donor block. A separate update must be made to the Search & Match system with the updated donor data to ensure up-to-date master data. More information on how to do so may be found here.
- ReferenceCode: In order to couple messages to the same request, e.g. Sample Request and its results, all messages following the initial request must have a referenceCode as part of the message.
- Each field inherited from EMDIS Semantics contains a comment describing its purpose in EMDIS and its original name to assist in the transition from EMDIS to Match-Connect.
- Paragraph Request + Response Flows depicts the new message flows.
...
| Send | Retrieve |
| extendedTypingRequestRequest | extendedTypingRequestRetrieve |
| Expand |
|---|
| | Field | Details |
|---|
| request | | Expand |
|---|
| | 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 A character string with fixed length in which each position represents an 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 the recipient | | patient | Embedded Patient Block | | donor | Donor ID |
|
| | Expand |
|---|
| | No parameters specified |
|
...
- 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 by the recipient, e.g. due to national rules, is to inform the requesting side what was done. If only the only the resolution was changed (the sender will receive something different than ordered - either more either more or less) or only a part of the requested loci were accepted (the sender will only receive parts receive parts of what was ordered): send a an MSG_RSP containing the warning.
...
| Send | Retrieve |
| extendedTypingResponseRequest | extendedTypingResponseRetrieve |
| Expand |
|---|
| | Field | Details |
|---|
| response | | Expand |
|---|
| | 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: the patient case is very urgentRemark REMARK Opt 120 |
|
| | recipient | integer maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of the recipient | | donor | Embedded Donor Block | | patient | Patient ID |
|
| | Expand |
|---|
| | No parameters specified |
|
...
| Send | Retrieve |
|---|
| sampleRequestRequest (comments refer to changes to the current API definition) | sampleRequestRetrieve |
| Expand |
|---|
| | Field | Details |
|---|
| request | | Expand |
|---|
| | 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. E.g., 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 the recipient | | patient* | Embedded Patient Block | | donor* | Donor ID |
|
| | Expand |
|---|
| No parameters specified |
|
...
- The fields ”earliest and latest date of sample reception” represent the lower and upper limit of a the 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 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 A 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, and not given in the request, the default value number of tubes is one.
...
- The message can only be exchanged in one direction: from the donor side to the 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” and the donor is reserved for this patient after the sample request.
- A request is considered as ”open” considered”open” as long as the patient patient registry has neither reported the sample results nor a Request Rejected message 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 |
| sampleArrivalRequest (comments refer to changes to the current API definition) | sampleArrivalRetrieve |
| Expand |
|---|
| | Field | Details | | message | | Expand |
|---|
| | 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: the patient case is very urgentRemark REMARK Opt 120 |
|
| | recipient | integer maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of the recipient | | patient* | Patient ID | | donor* | Embedded Donor Block |
|
| | Expand |
|---|
| | No parameters specified |
|
...
| Send | Retrieve |
| sampleResponseRequest (comments refer to changes to the current API definition) | sampleResponseRetrieve |
| Expand |
|---|
| | Field | Details |
|---|
| response | | Expand |
|---|
| | 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 the recipient | | patient* | Patient ID | | donor* | Donor ID |
|
| | Expand |
|---|
| | No parameters specified |
|
...
- donorStillOfInterest = ”N” means: the donor can be released immediately.
- donorStillOfInterest = ”Y” means: please prolong donor reservation according to your national rules.
- The fields for the infectious disease markers are included in this message in order to give the transplant centers the possibility to report the results of IDMs they might have tested.
- If Sample Results cannot be sent then a Request Rejected message should be sent with the reason field populated to explain why.
...
| Send | Retrieve |
| infectiousDiseaseMarkerRequest | infectiousDiseaseMarkerRequestRetrieve |
| Expand |
|---|
| | 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: details in Data Dictionary | | institutionPaying* | Embedded Address Block | | 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 the recipient | | patient* | Embedded Patient Block | | donor* | Donor ID |
|
| | Expand |
|---|
| | No parameters specified |
|
...
| Send | Retrieve |
| infectiousDiseaseMarkerResultRequest | infectiousDiseaseMarkerResultRetrieve |
| Expand |
|---|
| | 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: details are in Data Dictionary | | 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* | Patient ID |
|
| | Expand |
|---|
| | No parameters specified |
|
Rules
- The common use of the IDM Results message is in response to the Sample Request message, in addition to shipment of the donor blood sample. Please note there may be a charge involved with this service. If a fee is charged, it may come as a separate item or might be included in the price of the sample shipment. Such IDM Results messages can be sent via a regular EMDIS message - the remote hub must be able to handle it appropriately. The IDM Results must have the same referenceCode as the Sample Request message.
- IDM Results message can be generated in response to two different message requests:
- Sample Request does not specify what set of infectious disease markers to be tested
- IDM Request does specify what set of infectious disease markers to be tested
- The field marker is a required field.
- For those hubs reporting infectious disease markers during verification typing, the marker field should contain the IDMs actually tested. There is a fixed-length binary field for the IDM Results message. The blood group may also be also reported.
- IDM results can also be also reported as a part of the Sample Results message by the hub (transplant center) that requested the blood sample. This is to give the transplant centers the possibility to report the results of IDMs they might have tested.
...
| Send | Retrieve |
| reservationRequestRequest | reservationRequestRetrieve |
| Expand |
|---|
| | Field | Details |
|---|
| payload* | | Expand |
|---|
| | Field | Details |
|---|
| patient* | Embedded Patient Block | | donor | Donor ID | | 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 the recipient | | correlationGuid* | string($uuid) Sender The sender generated GUID used to correlate response acknowledgement |
|
| | Expand |
|---|
| | No parameters specified |
|
...
| Send | Retrieve |
| reservationResponseRequest | reservationResponseRetrieve |
| Expand |
|---|
| | Field | Details |
|---|
| sender* | string maxLength: 4 minLength: 4 example: 56784 digit ION of the 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* | | Expand |
|---|
| | Field | Details |
|---|
| patient* | Patient ID | | donor* | Embedded Donor Block | | 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 the recipient | | correlationGuid* | string($uuid) Sender The sender generated GUID used to correlate response acknowledgement | | messageType | string Message types supported by WmdaConnect Enum: Array [ 21 ] |
|
| | Expand |
|---|
| | No parameters specified |
|
5.11 - Donor Release Request (new message)
This message is sent by the The patient registry sends this message to inform the donor registry that a donor can be released from the reservation when it is no longer needed (e.g. patient is deceased or was transplanted with another donor). This should be used if the donor reservation was confirmed in a response to some request. If the reservation has not been confirmed then a Request Cancellation message should be used.
...
| Send | Retrieve |
| reservationReleaseRequest | reservationReleaseRetrieve |
| Expand |
|---|
| | Field | Details |
|---|
| sender* | string maxLength: 4 minLength: 4 example: 56784 digit ION of the 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* | | Expand |
|---|
| | Field | Details |
|---|
| patient* | Patient ID | | donor* | Donor ID | | 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 the recipient | | correlationGuid* | string($uuid) Sender generated GUID used to correlate response acknowledgementacknowledgment | | messageType | string Message types supported by WmdaConnect Enum: Array [ 21 ] |
|
| | Expand |
|---|
| | No parameters specified |
|
...
This message is used to cancel a previous request that has been sent to the donor registry. The Request must have a preceding request that is being cancelledcanceled.
| Send | Retrieve |
| requestCancellationRequest | requestCancellationRetrieve |
| Expand |
|---|
| | Field | Details |
|---|
| sender* | string maxLength: 4 minLength: 4 example: 56784 digit ION of the 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* | | Expand |
|---|
| | Field | Details |
|---|
| patient* | Patient ID | | donor* | Donor ID | | 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 the recipient | | correlationGuid* | string($uuid) Sender generated GUID used to correlate response acknowledgementacknowledgment | | messageType | string Message types supported by WmdaConnect Enum: Array [ 21 ] |
|
| | Expand |
|---|
| | No parameters specified |
|
...
| Send | Retrieve |
| requestRejectedRequest | requestRejectedRetrieve |
| Expand |
|---|
| | Field | Details |
|---|
| payload* | | Expand |
|---|
| | Field | Details |
|---|
| patient* | Patient ID | | 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 the recipient | | correlationGuid* | string($uuid) Sender generated GUID used to correlate response acknowledgementacknowledgment |
|
| | Expand |
|---|
| | No parameters specified |
|
...
| Send | Retrieve |
| resultReminderRequest | resultReminderRetrieve |
| Expand |
|---|
| | Field | Details |
|---|
| sender* | string maxLength: 4 minLength: 4 example: 56784-digit ION of the 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* | | Expand |
|---|
| | Field | Details |
|---|
| patient | Patient ID | | donor | Donor ID | | 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 the recipient | | correlationGuid* | string($uuid) Sender The sender generated GUID used to correlate response acknowledgementacknowledgment | | messageType | string Message types supported by WmdaConnect Enum: Array [ 21 ] |
|
| | Expand |
|---|
| | No parameters specified |
|
...
| Send | Retrieve |
| genericRequestRequest | genericRequestRetrieve |
| Expand |
|---|
| | Field | Details |
|---|
| request* | | | recipient* | string maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344-digit ION of the recipient |
|
| | Expand |
|---|
| | No parameters specified |
|
...