...
General considerations
A patient registration Embedded Patient 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 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 within a Reservation Response reflecting the changed donor status (cf. 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 within the respective message, e.g. updated HLA information resulting from an Extended Typing Request in an Extended Typing Results. A separate update must be made to the Search & Match system with the updated donor data to ensure an up-to-date master data. More information on how to do so may be found here.
- Reference Code: In EMDIS, there was a REF_CODE field to reference result messages to the same request, e.g. Sample Request and its results. In Match-Connect, all the request-related messages responding to the original request must have a referenceMessageId as part of the message.
- Most fields inherited from EMDIS Semantics contain comments describing their purposes in EMDIS and the original names to assist in the transition from EMDIS to Match-Connect.
- Paragraph Request + Response Flows depicts the new message flows.
...
This message is used to request an extended typing of a donor (adult, ADCU, CBU). It primarily contains information about what to type and for which donor.
The expected return messages are Reservation Response, Extended Typing Results (donor or cbu) and/or Request Rejection.
Send (Post)
| Retrieve (Post)
|
extendedTypingRequestRequest | extendedTypingRequestRetrieve |
Expand |
---|
| Field | Details |
---|
request * | Expand |
---|
| Field | Details |
---|
requestId | string example:XX12345 | resolutionRequired * | {...}
Replacement of the single string based resolutionRequired. | institutionPaying* | organisationId string example : 9999123456 organisation* contactPerson* see Embedded Address Block | isUrgent | boolean | remark | string example: the patient case is very urgent |
|
| receivingRegistry* | integer example: 1234 4 digit ION of the receiving registry | attachment | Embedded Attachment Block | patient* | Embedded Patient Block | donor* | Embedded Donor Block (donor in request) |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
Rules
- Intermediate resolution (M) translates to non-high resolution.
- 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 receiving registry, e.g., due to national rules, is to inform the requesting side what was done. If only the resolution was changed (the sending registry will receive something different than ordered - either more or less) or only a part of the requested loci were accepted (the sending registry will only receive parts of what was ordered): send a message response containing the warning.
5.2 - Extended Typing Results (TYP_RES)
...
Send (Post)
| Retrieve (Post)
|
extendedTypingDonorResponseRequest | extendedTypingDonorResponseRetrieve |
Expand |
---|
| Field | Details |
---|
response* | Expand |
---|
| Field | Details |
---|
referenceMessageId* | string ($uuid) | hlaNomenclatureVersion* | string default: 3 Major version of HLA Nomenclature | hla* | Expand |
---|
| a | dna {...} description: HLA node with DNA | b | dna {...} description: HLA node with DNA | c | dna {...} description: HLA node with DNA | drb1 | dna {...} description: HLA node with DNA | drb3 | dna {...} description: HLA node with DNA | drb4 | dna {...} description: HLA node with DNA | drb5 | dna {...} description: HLA node with DNA | dqa1 | dna {...} description: HLA node with DNA | dqb1 | dna {...} description: HLA node with DNA | dpa1 | dna {...} description: HLA node with DNA | dpb1 | dna {...} description: HLA node with DNA | mica | gls {...} description: HLA node with GLS | micb | gls {...} description: HLA node with GLS |
|
| SampleType | string Type of sample. AS = CBU Contiguous Attached Segment WB = Whole Blood Sample RC = Red Cell Fraction (pellet) FP = Blood Spotted Filter Paper ED = Extracted DNA | remark | string example: the patient case is very urgent |
|
| receivingRegistry* | integer example: 1234 4-digit ION of the receiving registry | attachment | Embedded Attachment Block | donor* | Embedded Donor Block (donor in response) | patient* | |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.2.2 - Extended Typing Results CBU (TYP_RES for CBUs)
Send (Post)
| Retrieve (Post)
|
extendedTypingCbuResponseRequest | extendedTypingCbuResponseRetrieve |
Expand |
---|
| Field | Details |
---|
response* | Expand |
---|
| Field | Details |
---|
referenceMessageId* | string ($uuid) | hlaNomenclatureVersion* | string default: 3 Major version of HLA Nomenclature | hla* | Expand |
---|
| a | dna {...} description: HLA node with DNA | b | dna {...} description: HLA node with DNA | c | dna {...} description: HLA node with DNA | drb1 | dna {...} description: HLA node with DNA | drb3 | dna {...} description: HLA node with DNA | drb4 | dna {...} description: HLA node with DNA | drb5 | dna {...} description: HLA node with DNA | dqa1 | dna {...} description: HLA node with DNA | dqb1 | dna {...} description: HLA node with DNA | dpa1 | dna {...} description: HLA node with DNA | dpb1 | dna {...} description: HLA node with DNA | mica | gls {...} description: HLA node with GLS | micb | gls {...} description: HLA node with GLS |
|
| SampleType | string Type of sample. AS = CBU Contiguous Attached Segment WB = Whole Blood Sample RC = Red Cell Fraction (pellet) FP = Blood Spotted Filter Paper ED = Extracted DNA | remark | string example: the patient case is very urgent |
|
| receivingRegistry* | integer example: 1234 4-digit ION of the receiving registry | attachment | Embedded Attachment Block | donor* | Embedded CBU Block (donor in response) | patient* | |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.3 - Sample Request (SMP_REQ)
...
The expected return messages are Reservation Response, Sample Arrival Date, Sample Information, IDM Results, and/or Request Rejection.
Send (Post) | Retrieve (Post) |
---|
sampleRequestRequest | sampleRequestRetrieve |
Expand |
---|
| Field | Details |
---|
request* | Expand |
---|
| requestId | string example:XX12345 | prod1* | {...} | prod2 | {...} | prod3 | {...} | prod4 | {...} | earliestDateCanReceive* | string ($date-time) Earliest date of sample reception | latestDateCanReceive | string ($date-time) Latest date of sample reception | acceptableReceptionDaysOfWeek* | integer example: 1111100 Weekdays 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, and Sunday. | institutionToSendSampleTo* | Embedded Address Block | institutionPaying* | Embedded Address Block | isUrgent | boolean Urgent request | remark | string example: the patient case is very urgent |
|
| receivingRegistry* | integer example: 1234 4-digit ION of the receiving registry | attachment | Embedded Attachment Block | patient* | Embedded Patient Block | donor* | Embedded Donor Block (donor in request) |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
Rules:
- The fields ”earliest and latest date of sample reception” represent the lower and upper limit of 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.
- 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 of the donor registry.
- If the number of tubes is unassigned, and not given in the request, the default value number of tubes is one.
- A typical response to the Sample Request message is the Sample Arrival Date message. In addition to that, it is mandatory (by the accreditation standards) that the donor registry also sends an IDM Result message to inform the patient registry of the known diseases of the donor.
...
Send (Post)
| Retrieve (Post)
|
sampleInfoRequest (comments refer to changes to the current API definition) | sampleInfoRetrieve |
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
Rules:
- 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 ”open” and the donor is reserved for this patient after the sample request.
- A request is considered ”open” as long as the patient registry has neither reported the sample testing 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 (Post)
| Retrieve (Post)
|
sampleArrivalRequest (comments refer to changes to the current API definition) | sampleArrivalRetrieve |
Expand |
---|
| Field | Details | message* | Expand |
---|
| Field | Details |
---|
referenceMessageId* | string ($uuid) | arrivalDate* | string ($date-time) Proposed date of sample arrival | collectionDate | string ($date-time) Donor blood collection date | labelId* | string Verbatim verification typing (VT) sample label ID | SampleType * | string Type of sample. AS = CBU Contiguous Attached Segment WB = Whole Blood Sample RC = Red Cell Fraction (pellet) FP = Blood Spotted Filter Paper ED = Extracted DNA | remark | string example: the patient case is very urgent |
|
| receivingRegistry* | integer example: 1234 4 digit ION of the receiving registry | attachment | Embedded Attachment Block | patient* | | donor* | Embedded Donor Block (donor in request) |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.6 - Sample Response (SMP_RES)
...
Send (Post)
| Retrieve (Post)
|
sampleResponseRequest (comments refer to changes to the current API definition) | sampleResponseRetrieve |
Expand |
---|
| Field | Details |
---|
response* | Expand |
---|
| Field | Details |
---|
referenceMessageId* | string ($uuid) | hlaNomenclatureVersion* | string default: 3 Major version of HLA Nomenclature | hla | {...} | idm | {...} | mixedLymphocyteCultureGvh | string enum [ P, N]
Result MLC, Graft vs. Host (formerly MLC_GVH) | mixedLymphocyteCultureHvg | string enum [ P, N] Result MLC, Host vs. Graft (formerly MLC_HVG) | gvhReactivityPercent | integer GvH reactivity (formerly GVH_REAC) | hvgReactivityPercent | integer HvG reactivity (formerly HVG_REAC) | abo | string enum [ A, B, O, AB] | rhesus | string enum [ P, N] | ccr5 | enum [DD, DW, WW] | donorStillOfInterest | string Donor still of interest | attachment | {...} |
|
| receivingRegistry* | integer example: 1234 4 digit ION of the receiving registry | attachment | Embedded Attachment Block | patient* | | donor* | Embedded Donor Block (donor in request) |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
Rules:
- 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 to give the transplant centers the possibility to report the results of IDMs they might have tested.
- If Sample Results cannot be sent, a Request Rejection message should be sent with the reason field populated to explain why.
Note: To release a donor after a sample result with donorStillOfInterest = 'Yes' has been issued, the Reservation Release message should be used.
5.7 - Infectious Disease Marker Request (IDM_REQ)
...
The expected return messages are Reservation Response , IDM Results , and/or Request Rejection .
Send (Post)
| Retrieve (Post)
|
infectiousDiseaseMarkerRequest | infectiousDiseaseMarkerRequestRetrieve |
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
Rules:
- Several distinct requests for the same patient/donor pair at a time are possible, for example, a verification typing and a CMV status. But each request must be answered by an individual IDM Results message, i.e. results must not be ”concatenated” to a single result message. Multiple IDM
requests for the same patient/donor pair have to be disjoint (i.e. may not contain identical markers). The occurrence of multiple requests should be an exception. Normally, all markers required should be requested within one message.
...
Send (Post)
| Retrieve (Post)
|
infectiousDiseaseMarkerDonorResultRequest | infectiousDiseaseMarkerDonorResultRetrieve |
Expand |
---|
| Field | Details |
---|
response* | Expand |
---|
| Field | Details |
---|
referenceMessageId* | string ($uuid) | marker* | [...] | sampleExtractionDate* | string ($date-time) Date of sample extraction | idm | {...} | abo | string enum [ A, B, O, AB ] | rhesus | string enum [ P, N ] | ccr5 | string Donor CCR5 status | attachment | {...} | remark | string |
|
| receivingRegistry* | integer example: 1234 4-digit ION of the receiving registry | attachment | Embedded Attachment Block | donor* | Embedded Donor Block (donor in response) | patient* | |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.8.2 - Infectious Disease Marker Results CBU (IDM_RES for CBUs)
Send (Post)
| Retrieve (Post)
|
infectiousDiseaseMarkerCbuResultRequest | infectiousDiseaseMarkerCbuResultRetrieve |
Expand |
---|
| Field | Details |
---|
response* | Expand |
---|
| Field | Details |
---|
referenceMessageId* | string ($uuid) | marker* | integer example: 111110000111 Binary fixed length string in which each position represents a test to be requested: details are in Data Dictionary | sampleExtractionDate* | string ($date-time) Date of sample extraction | idm | {...} | abo | string enum [ A, B, O, AB ] | rhesus | string enum [ P, N ] | ccr5 | string Donor CCR5 status | attachment | {...} | remark | string |
|
| receivingRegistry* | integer example: 1234 4-digit ION of the receiving registry | attachment | Embedded Attachment Block | donor* | Embedded CBU Block (donor in response) | patient* | |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.9 - Reservation Request (RSV_REQ)
...
The expected return message is Reservation Response .
Send (Post)
| Retrieve (Post)
|
reservationRequestRequest | reservationRequestRetrieve |
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.10 - Reservation Response (RSV_RES)
...
Send (Post)
| Retrieve (Post)
|
reservationDonorResponseRequest | reservationDonorResponseRetrieve |
Expand |
---|
| Field | Details |
---|
response* | Expand |
---|
| Field | Details |
---|
referenceMessageId* | string ($uuid) | expirationDate | string ($date-time) Date expiration of reservation | confirmed* | boolean Confirmation of reservation | remark | string |
|
| receivingRegistry* | integer example: 1234 4-digit ION of the receiving registry | attachment | Embedded Attachment Block | patient* | | donor* | Embedded Donor Block (donor in response) |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.10.2 - Reservation Response CBU (RSV_RES for CBUs)
Send (Post)
| Retrieve (Post)
|
reservationCbuResponseRequest | reservationCbuResponseRetrieve |
Expand |
---|
| Field | Details |
---|
response* | Expand |
---|
| Field | Details |
---|
referenceMessageId* | string ($uuid) | expirationDate | string ($date-time) Date expiration of reservation | confirmed* | boolean Confirmation of reservation | remark | string |
|
| receivingRegistry* | integer example: 1234 4-digit ION of the receiving registry | attachment | Embedded Attachment Block | patient* | | donor* | Embedded CBU Block (donor in response) |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.11 - Reservation Release Request (new message)
...
Send (Post)
| Retrieve (Post)
|
reservationReleaseRequest | reservationReleaseRetrieve |
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer e xample: 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.12 - Workup Request
Future Phase
...
Send (Post)
| Retrieve (Post)
|
requestCancellationRequest | requestCancellationRetrieve |
Expand |
---|
| Field | Details |
---|
message* | Expand |
---|
| Field | Details |
---|
referenceMessageId* | string ($uuid) | requestType* | string Type of request | reason | string Reason of request cancellation | remark | string |
|
| receivingRegistry* | integer example: 1234 4-digit ION of the receiving registry | attachment | Embedded Attachment Block | patient* | | donor* | Embedded Donor Block (donor in request) |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer e xample: 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.15 - Request Rejection (NO_RES)
...
Note: For Reservation Requests, if a donor cannot be reserved, Reservation Response with ‘Confirmed’= ‘No’ should be issued and not Request Rejection.
...
Send (Post)
| Retrieve (Post)
|
requestRejectedRequest | requestRejectedRetrieve |
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.16 - Result Reminder (RES_REM)
...
Send (Post)
| Retrieve (Post)
|
resultReminderRequest | resultReminderRetrieve |
Expand |
---|
| Field | Details |
---|
message* | Expand |
---|
| Field | Details |
---|
referenceMessageId* | string ($uuid) | resultType* | string Type of result reminded | expirationDate | string ($date-time) Date expiration of reservation | remark | string |
|
| receivingRegistry* | integer example: 1234 4-digit ION of the receiving registry | attachment | Embedded Attachment Block | patient* | | donor* | Embedded Donor Block (donor in request) |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.17 - Generic Request (new message)
...
Send (Post)
| Retrieve (Post)
|
genericRequestRequest | genericRequestRetrieve |
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.18 - Upload and download attachment
...
Send (Post)
| Retrieve (Post)
|
genericDocumentExchangeRequestRequest | genericDocumentExchangeRequestRetrieve |
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example : 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.20 - Cord Blood Unit Report Request (CBR_REQ)
...
Send (Post)
| Retrieve (Post)
|
cordBloodUnitReportRequest | cordBloodUnitReportRequestRetrieve |
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example: 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.21 - Cord Blood Unit Report Response (CBR_RES)
...
Send (Post)
| Retrieve (Post)
|
cordBloodUnitReportResponseRequest | cordBloodUnitReportResponseRetrieve |
Expand |
---|
| Field | Details |
---|
response* | Expand |
---|
| Field | Details |
---|
referenceMessageId* | string ($uuid) | expirationDate | string ($date-time) Date expiration of reservation | confirmed* | boolean Confirmation of reservation | remark | string |
|
| receivingRegistry* | integer example: 1234 4-digit ION of the receiving registry | attachment | Embedded Attachment Block | patient* | | donor* | Embedded CBU Donor Block (donor in response) |
|
| Expand |
---|
| limit | integer default: 100 | shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example: 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
5.22 - Request + Response Flows
...