General considerations:
A patient registration embedded block 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 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. Embedded Donor Block (donor in response) within a Reservation Response reflecting the changed donor status (c.f. 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 Embedded Donor Block (donor in response) within the respective message, e.g. updated HLA information resulting from an Extended Typing Request in an Extended Typing Result. 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.
- ReferenceCoderequestId: In order to couple messages to the same request, e.g. Sample Request and its results, all messages following the initial the request-related messages responding to the original request must have a referenceMessageId as part of the message.requestingRegistryReferenceCode
- requestId) is used for end-user recognition (communication outside the automated system) requestingRegistryReferenceCode requestingRegistryReferenceCode
- requestId is part of the original message block
- The
requestingRegistryReferenceCode- requestId will be generated by the sending registry
- The
requestingRegistryReferenceCode - requestId will only be used for human-to-human communication (e.g. could be used on printed invoices)
- Once requestId is sent, it must be used in all subsequent request message exchanges
- 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.
5.1 - Extended Typing Request (TYP_REQ)
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.
Expected return message is Extended Typing Results The expected return messages are Reservation Response, Extended Typing Result and/or Request Rejected.
Send (Post)
| Retrieve (Post)
|
extendedTypingRequestRequest | extendedTypingRequestRetrieve |
Expand |
---|
| Field | Details |
---|
request* | Expand |
---|
| booleanUrgent request URGENT Opt 1Field | Details |
---|
requestingRegistryReferenceCoderequestId | string maxLength: 1519 example:XX12345
| resolutionRequired* | string example: "a": highReplacement of the single string based resolutionRequired. | address* | Embedded Address Block | isUrgent | boolean Urgent request URGENT Opt 1 | remark | string maxLength: 111000 minLengthnullable: 11 example: HHHHMMM-H-HA character string with a 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 | address | Embedded Address Block | isUrgent* | true example: the patient case is very urgentRemark REMARK Opt 120 |
|
| receivingRegistry* | integer maximum: 9999 minimum: 1000 maxLength: 4 minLength: 4 example: 1234
4 digit ION of the receiving registry | 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 examplet: 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
Rules
resolutionRequired: string-enum with the following options
- low = DNA low resolution
- medium = DNA medium (intermediate) resolution
- high = DNA high resolution
- Intermediate resolution (medium) translates to non-high resolution.
- Combinations are possible, i.e. several loci may be requested in one message.
The address block must provide the necessary details for the donor registry to send an invoice for the service. In EMDIS, this used to be the address of the financial institution.
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 (see 6 - Administration v1.0) containing the warning.
5.2 - Extended Typing Results (TYP_RES)
This message is used to send the results of the Extended Typing Request back to the requesting registry.
Send (Post)
| Retrieve (Post)
|
extendedTypingResponseRequest | extendedTypingResponseRetrieve |
Expand |
---|
| Field | Details |
---|
response* | Expand |
---|
| Field | Details |
---|
requestId | string maxLength: 19 example:XX12345 | referenceMessageId* | 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 |
|
| receivingRegistry* | integer maximum: 9999 minimum: 1000 maxLength: 4 minLength: 4 example: 1234
4-digit ION of the receiving registry | donor* | Embedded Donor Block (donor in response) | patient* | Expand |
---|
| Field | Details |
---|
wmdaId* | integer nullable: false example: 1234 ID provided by the WMDA |
|
|
|
| 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. |
|
|
5.3 - Sample Request (SMP_REQ)
This message is used to request a sample to be used for verification typing in the lab of the sending registry.
Send (Post) | Retrieve (Post) |
---|
sampleRequestRequest | sampleRequestRetrieve |
Expand |
---|
| Field | Details |
---|
request* | Expand |
---|
| requestId | string maxLength: 19 example:XX12345 | 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:false minLength: 7 maxLength: 7 pattern: ^[01]{7}$ 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 or Sunday. | institutionToSendSampleTo* | Embedded Address Block | institutionPaying* | Embedded Address Block | isUrgent | boolean Urgent request URGENT Opt 1 | remark | string maxLength: 1000 nullable: true example: the patient case is very urgentRemark REMARK Opt 120 |
|
| receivingRegistry* | integer maximum: 9999 minimum: 1000 maxLength: 4 minLength: 4 example: 12344-digit ION of the receiving registry | 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 examplet: 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.
5.4 - Sample Information (SMP_INFO)
This message is used to send relevant secondary information that may arise in the context of the sample request.
Send (Post)
| Retrieve (Post)
|
sampleInfoRequest (comments refer to changes to the current API definition) | sampleInfoRetrieve |
Expand |
---|
| message* | Expand |
---|
| requestId | string maxLength: 19 example:XX12345 | referenceMessageId* | string($uuid) | informationType* | string maxLength: 3 minLength: 3Information Type INFO_TYPE Req 3 Enum: Array [ BMP, BMM, SCP, SCM, ABS, MUL, UBC, RPE, CMV, ROI, MED, OTH ]
| remark | string maxLength: |
|
|
|
|
1201000 nullable: true example: the patient case is very urgentRemark REMARK Opt 120 |
|
| receivingRegistry* | integer maximum: |
|
|
9999: 0
maxLength: 4
minLength: 4
example: 12344 digit ION of the receiving registry
patient*Embedded Patient Block: 1000 maxLength: 4 minLength: 4 example: 1234
4-digit ION of the receiving registry | patient* | Expand |
---|
| Field | Details |
---|
wmdaId* | integer nullable: false example: 1234 ID provided by the WMDA |
|
| donor* | Embedded Donor Block (donor in request) |
|
|
donor*Donor IDwmdaResponse WMDA Response | 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 |
|
|
.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 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 (see 6 - Administration) containing the warning.
...
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 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.
5.5 - Sample Arrival (SMP_ARR)
This message is used to send transmit the results proposed date of the Extended Typing Request back to the requesting registry. sample arrival.
Send (Post)
| Retrieve (Post)
|
extendedTypingResponseRequestextendedTypingResponseRetrieveresponserequestingRegistryReferenceCoderequestId | string maxLength: |
|
|
|
|
15referenceCodereferenceMessageId* | string($uuid) | arrivalDate* | string($date-time) |
|
|
|
|
hlaNomenclatureVersionProposed date of sample arrival ARRV_DATE Req 8 | collectionDate* | string($date-time) nullable:falseDonor blood collection date COLL_DATE Opt 8 | labelId* | string
|
|
|
|
|
default3Major version of HLA Nomenclature HLA_NOM_VER Req 7
etSampleType19 Verbatim verification typing (VT) sample label ID D_LABEL_ID Req 19 | ctSampleType* | string nullable: |
|
|
|
|
truefalse 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 Enum:
|
|
|
|
|
Array [ 5 Array [ AS, WB, RC, FP, ED ] | remark | string maxLength: |
|
|
|
|
1201000 nullable: true example: the patient case is very urgentRemark REMARK Opt 120 |
|
| receivingRegistry* | integer maximum: |
|
|
9999 0 4 4 1234- digit ION of the receiving registry | patient* | Expand |
---|
| Field | Details |
---|
wmdaId* | integer nullable: false example: 1234 ID provided by the WMDA |
|
| donor* | Embedded Donor Block |
|
|
patient*Patient IDwmdaResponse WMDA Response | 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. |
|
|
Information Block{}5.
...
6 -
...
Sample Response (SMP_
...
RES)
This message is used to request a sample to be used for a verifcation typing in the lab of the sending registry. transmit the results of the sample testing.
Send (Post)
| Retrieve (Post)
|
sampleRequestRequest sampleRequestRetrieverequestrequestingRegistryReferenceCodestringmaxLength: 15example:XX12345prod1*{...}prod2{...}prod3{...}prod4{...}earliestDateCanReceiveDetails |
---|
requestId | string maxLength: 19 example:XX12345 | referenceMessageId |
|
|
|
|
latestDateCanReceive$date-time)Earliest date of sample reception REC_DATE1 Req 8 yyyy-MM-dd [or yyyyMMdd]
$uuid) | hlaNomenclatureVersion |
|
|
|
|
($date-time)nullabletrueLatest 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 BlockinstitutionPaying*Embedded Address BlockisUrgentbooleanUrgent request URGENT Opt 1
remarkstring
maxLength: 120
nullable: true
example: the patient case is very urgentRemark REMARK Opt 120Major version of HLA Nomenclature HLA_NOM_VER Req 7 | hla | {...} | idm | {...} | abo | string nullable: true Enum: Array [ A, B, O, AB ] | rhesus | string nullable: true Enum: Array [ P, N ] | donorStillOfInterest | boolean
Donor still of interest DON_ACCPT Req 1 |
|
| receivingRegistry* | integer maximum: 9999 minimum |
|
|
: 0
maxLength: 4
minLength: 4
example: 12344-digit ION of the receiving registry
: 1000 maxLength: 4 minLength: 4 example: 1234
4 digit ION of the receiving registry | patient* | Expand |
---|
| Field | Details |
---|
wmdaId* | integer nullable: false example: 1234 ID provided by the WMDA |
|
| donor* | Embedded Donor Block (donor in request) |
|
|
patient*Embedded Patient Blockdonor*Donor IDwmdaResponse WMDA Response | 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. |
|
|
FieldDetailsoriginalMessage*{...}metaInformation*Embedded Meta BlockRules:
- 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.
- If the number of tubes is unassigned, and not given in the request, the default value number of tubes is one.
5.4 - Sample Information (SMP_INFO)
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 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.
5.7 - Infectious Disease Marker Request (IDM_REQ)
This message is used to request infectious disease marker test results of the selected donorThis message is used to send relevant secondary information which may arise in the context of sample request.
Send (Post)
| Retrieve (Post)
|
sampleInfoRequest (comments refer to changes to the current API definition)sampleInfoRetrieve..messagerequestingRegistryReferenceCoderequestId | string maxLength: |
|
|
|
|
15referenceCodestring($uuid)informationType*3minLength3Information Type INFO_TYPE Req 3
Enum:
Array [ 12 ]true example: the patient case is very urgent |
|
|
|
|
remarkstring
nullable: true | receivingRegistry* | integer maximum: |
|
|
9999 0 4 4 1234 1234
4-digit ION of the receiving registry | patient* |
|
|
Patient wmdaId
ID provided by the WMDAwmdaResponse WMDA Response | Expand |
---|
| limit | integer default: 100
| shouldPeek | boolean default: false
Set to true if you want messages to remain available |
|
|
after retrievalmessageSequenceNumberinteger
examplet: 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 as ”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 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.
5.5 - Sample Arrival (SMP_ARR)
This message is used to transmit the proposed date of the sample arrival.
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. |
|
|
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 has to be answered by an individual IDM Results, 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.
5.8 - Infectious Disease Marker Results (IDM_RES)
This message is used to send the results of the IDM request back to the requesting registry.
Send (Post)
| Retrieve (Post)
|
infectiousDiseaseMarkerResultRequest | infectiousDiseaseMarkerResultRetrieve |
Expand |
---|
| Field | Details |
---|
response* | Expand |
---|
| Field | Details |
---|
requestId | string maxLength: 19 example:XX12345 | referenceMessageId* | string($uuid) | marker* | [...] | sampleExtractionDate* | string($date-time) nullable:falseDate 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 | {...} |
|
|
|
|
Send (Post)
Retrieve (Post)
sampleArrivalRequest (comments refer to changes to the current API definition)sampleArrivalRetrieve ExpandFieldDetailsmessage* ExpandFieldDetailsrequestingRegistryReferenceCodestringmaxLength: 15example:XX12345referenceCode*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
ctSampleType*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 ]1201000 nullable: true example: the patient case is very urgentRemark REMARK Opt 120 |
|
| receivingRegistry* | integer maximum: |
|
|
9999 0 4 4 4 digit ION of the receiving registrypatient*Patient IDdonor*Donor IDwmdaResponse WMDA Response | 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. |
|
|
FieldDetails{} Meta Block5.6 - Sample Response (SMP_RES)
This message is used to transmit the results of the sample testing.
Rules
- The common use of the IDM Results message is in response to the Sample Request message, in addition to the 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 requestId 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 reported.
- IDM results can also be 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.
5.9 - Reservation Request (RSV_REQ)
This message is used to request the reservation of a donor for a specific patient for a upcoming transplantation at the receiving registry. The patient registry can ask for a specific reservation period by making use of the optional field expirationDate.
Send (Post)
Retrieve (Post)
sampleResponseRequest (comments refer to changes to the current API definition)sampleResponseRetrieve ExpandFieldDetailsresponse* ExpandFieldDetailsrequestingRegistryReferenceCodestringmaxLength: 15example:XX12345referenceCode*string($uuid)hlaNomenclatureVersion*string
default: 3Major version of HLA Nomenclature HLA_NOM_VER Req 7
hla{...}idm{...}abostring
nullable: trueEnum:
Array [ 4 ]rhesusstring
nullable: trueEnum:
Array [ 2 ]donorStillOfIntereststring
maxLength: 1Donor still of interest DON_ACCPT Req 1
Enum:
Array [ 2 ]receivingRegistry*integer
maximum: 9999
minimum: 0
maxLength: 4
minLength: 4
example: 12344 digit ION of the receiving registry
patient*Patient IDdonor*Donor ID Expandlimitinteger
default: 100
shouldPeekboolean
default: falseSet to true if you want messages to remain available after retrieval
messageSequenceNumberinteger
examplet: 12345
Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.generalInformation General Information originalMessage*{}metaInformation*Embedded Meta Block Rules:
...
5.7 - Infectious Disease Marker Request (IDM_REQ)
This message is used to request infectious disease marker test results of the selected donor.
Send (Post)
Retrieve (Post)
infectiousDiseaseMarkerRequestinfectiousDiseaseMarkerRequestRetrieve ExpandFieldDetailsresponselimit | 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. |
|
|
requestingRegistryReferenceCodestringmaxLength: 15example:XX12345markerAsArray[...]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 Blockremarkstring
maxLength: 120
nullable: true
example: Please also test for SARS-CoV-2Remark REMARK Opt 120
receivingRegistry*integer
maximum: 9999
minimum: 0
maxLength: 4
minLength: 4
example: 12344-digit ION of the receiving registry
patient*Embedded Patient Blockdonor*Donor ID 5.10 - Reservation Response (RSV_RES)
This message is used to notify the requesting patient registry if the Reservation Request has been confirmed by the donor registry OR if the donor reservation was performed after another request. The donor registry reports back the expirationDate. This might differ from the expirationDate of the Reservation Request message due to local rules or regulations at the donor registry side. The expirationDate in the Reservation Response reflects the "true" reservation period.
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. |
|
ExpandtitleResponseSend (Post)
| Retrieve (Post)
|
reservationResponseRequest | reservationResponseRetrieve |
Expand |
---|
| Field | Details |
---|
response* | Expand |
---|
| Field | Details |
---|
requestId | string maxLength: 19 | referenceMessageId* | 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: 1000 nullable: true example: the patient case is very urgentRemark REMARK Opt 120 |
|
| receivingRegistry* | string maximum: 9999 minimum: 1000 maxLength: 4 minLength: 4 example: 1234
4-digit ION of the receiving registry | patient* | |
|
|
generalInformationSend (Post)
Retrieve (Post)
infectiousDiseaseMarkerResultRequestinfectiousDiseaseMarkerResultRetrieve ExpandFieldDetailsresponseEmbedded General Information BlockoriginalMessage*{...}metaInformation*Embedded Meta BlockRules:
- 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 has to be answered by an individual IDM Results, 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.
5.8 - Infectious Disease Marker Results (IDM_RES)
This message is used to send the results of the IDM request back to the requesting registry.
| 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. |
|
|
requestingRegistryReferenceCodestringmaxLength: 15example:XX12345referenceCode*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
donorCcr5Statusstring
maxLength: 2
nullable: trueDonor CCR5 status D_CCR5 Opt 2
donorWeightKginteger($int32)
maximum: 999
minimum: 0
nullable: trueDonor weight in kilograms D_WEIGHT Opt 3
donorHeightCminteger($int32)
maximum: 999
minimum: 0
nullable: true
example: 175Donor height in centimetres D_HEIGHT Opt 3
numberOfTransfusionsinteger($int32)
maximum: 9
minimum: 0
nullable: trueNumber of transfusions D_NMBR_TRANS Opt 1
numberOfPregnanciesinteger($int32)
maximum: 9
minimum: 0
nullable: trueNumber of pregnancies D_NMBR_PREG Opt 1
idm{...}5.11 - Reservation Release Request (new message)
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 response to some request. If the reservation has not been confirmed 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.
There is no response to this message except for the automated acknowledgment.
Send (Post)
| Retrieve (Post)
|
reservationReleaseRequest | reservationReleaseRetrieve |
Expand |
---|
| Field | Details |
---|
request* | Expand |
---|
| Field | Details |
---|
requestId | string maxLength: 19 | referenceMessageId* | string($uuid) | reason* | string maxLength: 3 minLength: 3 nullable: false
Enum: [ ATX, RMT, UMT, RCT, UCT, RPT, UPT, GCC, BCC, PDC, PAT, PPR, ICH, FND, NDF, COR, HMM, DRR, OTH, UNK ]
Reason of request cancellation REASON_CNCL Opt 3 | remark | string maxLength: |
|
|
|
|
1201000 nullable: true example: the patient case is very urgentRemark REMARK Opt 120 |
|
| receivingRegistry* |
|
|
integer 9999 0 4 4 1234 1234
4-digit ION of the receiving registry |
|
|
donor*Embedded Donor BlockPatient IDResponsewmdaResponse*Embedded WMDA Response Block Expandlimitinteger
default: 100
shouldPeekboolean
default: falseSet to true if you want messages to remain available after retrieval
messageSequenceNumberinteger
examplet: 12345
Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.generalInformation*Embedded General Information BlockoriginalMessage*{...}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 reported.
- IDM results can also be 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.
...
| 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. |
|
|
5.12 - Workup Request
Future Phase
5.13 - Workup Status
Future Phase
5.14 - Request Cancellation (REQ_CAN)
This message is used to cancel a previous request the reservation of a donor for transplant at the receiving registrythat has been sent to the donor registry. The Request must have a preceding request that is being canceled.
Send (Post)
| Retrieve (Post)
|
reservationRequestRequestreservationRequestRetrieveDetailsrequest* ExpandFieldDetailsrequestingRegistryReferenceCodestring
maxLength: 15
| Details |
---|
message* | Expand |
---|
| Field | Details |
---|
requestId | string maxLength: 19 | referenceMessageId* | string($uuid) | requestType* | string maxLength: 3 nullable: false
Enum: [ genericRequest, extendedTypingRequest, sampleRequest, infectiousDiseaseMarkerRequest ]
Type of request REQ_TYPE Req 3 | reason | string maxLength: 3 minLength: 3 nullable: true Enum: [ ATX, RMT, UMT, RCT, UCT, RPT, UPT, GCC, BCC, PDC, PAT, PPR, ICH, FND, NDF, COR, HMM, DRR, OTH, UNK ] Reason of request cancellation REASON_CNCL Opt 3 |
|
|
|
|
expirationDatestring($date-time)
nullable: trueRequest date EXPI_DATE Opt 8 yyyy-MM-dd [or yyyyMMdd]1201000 nullable: true example: the patient case is very urgentRemark REMARK Opt 120 |
|
| receivingRegistry* | string maximum: 9999 minimum: |
|
|
: 4
minLength: 4
example: 12344-digit ION of the receiving registry
patient*Embedded Patient Block: 4 minLength: 4 example: 1234
4-digit ION of the receiving registry | patient* | Expand |
---|
| Field | Details |
---|
wmdaId* | integer nullable: false example: 1234 ID provided by the WMDA |
|
| donor* | Embedded Donor Block (donor in request) |
|
|
donor*Donor IDwmdaResponse WMDA Response | 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. |
|
|
{} Block5.
...
15 -
...
Request Rejection (
...
NO_RES)
This message is used to notify the requesting patient registry if the Reservation Request has been confirmed by the donor registryregistry when a request cannot be fulfilled (service cannot be provided).
Send (Post)
| Retrieve (Post)
|
reservationResponseRequestreservationResponseRetrieveresponserequestingRegistryReferenceCoderequestId | string maxLength: |
|
|
|
|
15referenceCodereferenceMessageId* | string($uuid) |
|
|
|
|
expirationDatestring($date-time)
nullable: trueDate expiration of reservation EXPI_DATE Opt 8 yyyy-MM-dd [or yyyyMMdd]
| requestType* | string maxLength: 3 Enum: [ genericRequest, extendedTypingRequest, sampleRequest, infectiousDiseaseMarkerRequest ] Type of request REQ_TYPE Req 3 | reason* | string maxLength: 3 minLength: 2 Enum: [ BCC, FND, LAB, NSP, OLD, PDC, STP, TRX, OTH, DO, DD, MR, PR, TX, MO, UC, NS, OT, UK, EX, MM ] Reason REASON Req 3 |
|
|
|
|
confirmed*booleanConfirmation of reservation CONFIRM Req 11201000 nullable: true example: the patient case is very urgentRemark REMARK Opt 120 |
|
| receivingRegistry* | string maximum: 9999 minimum: |
|
|
1000 maxLength: 4 minLength: 4 example: 1234
4-digit ION of the receiving |
|
|
registrypatient*Patient IDwmdaResponse WMDA Response | Expand |
---|
| limit | integer default: 100
| shouldPeek | boolean default: false
Set to true if you want messages |
|
|
to remain available after retrievalmessageSequenceNumberinteger
examplet: 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)
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 response to some request. If the reservation has not been confirmed 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.
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. |
|
|
5.16 - Result Reminder (RES_REM)
This message is sent by the requesting registry to the receiving registry to remind the receiving registry of an outstanding result from a previous requestThere is no response to this message except for the automated acknowledgement.
Send (Post)
| Retrieve (Post)
|
reservationReleaseRequestreservationReleaseRetrieverequestrequestingRegistryReferenceCoderequestId | string maxLength: |
|
|
|
|
15referenceCodereferenceMessageId* | string($uuid) |
|
|
|
|
reason
minLength: 3resultType* | string maxLength: |
|
|
|
|
3 9 nullable: false
Enum: [ extendedTypingResponse, sampleArrival, sampleResponse, infectiousDiseaseMarkerResult, reservationResponse ] Type of result reminded RES_TYPE Req 9 | expirationDate | string($date-time) |
|
|
|
|
Reason of request cancellation REASON_CNCL Opt 3Request date EXPI_DATE Opt 8 yyyy-MM-dd [or yyyyMMdd] | remark | string maxLength: |
|
|
|
|
1201000 nullable: true example: the patient case is very urgentRemark REMARK Opt 120 |
|
| receivingRegistry* | string maximum: 9999 minimum: |
|
|
1000 maxLength: 4 minLength: 4 example: 1234
4-digit ION of the receiving registry | patient* |
|
|
Patient ID | Expand |
---|
| Field | Details |
---|
wmdaId* | integer nullable: false example: 1234 ID provided by the WMDA |
|
| donor* |
|
|
Donor IDwmdaResponse WMDA Response | 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. |
|
|
FieldDetails{}5.
...
Future Phase
5.13 - Workup Status
Future Phase
...
17 - Generic Request (new message)
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 canceled.for registering a patient (by the embedded patient block).
This may be required for example for direct WU requests until 5.11 is available or to reactivate a closed patient case on the receiving registry side.
requestCancellationRetrieveDetails{}Send (Post)
| Retrieve (Post)
|
requestCancellationRequestgenericRequestRequest | genericRequestRetrieve |
Expand |
---|
| IDDonor IDField | Details |
---|
messagerequest* | Expand |
---|
| remarkField | Details |
---|
requestingRegistryReferenceCode | string maxLength: 15 | 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 | | Details |
---|
requestId | string maxLength: 19 | reason | string 120 nullable: trueRemark REMARK Opt 120reason for the generic request. Free text.
|
|
| receivingRegistry* | string maximum: 9999 minimum: 1000 maxLength: 4 minLength: 4 example: 1234
4-digit ION of the receiving registry | 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 examplet: 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
| Field | | | |
---|
5.15 - Request Rejected (NO_RES)
This message is used to notify the requesting registry when a request cannot be fulfilled (service cannot be provided).
...
Expand |
---|
|
Field | Details |
---|
message* | Expand |
---|
| Field | Details |
---|
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 |
|
| 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 |
|
5.16 - Result Reminder (RES_REM)
This message is sent by the requesting registry to the receiving registry to remind the receiving registry of an outstanding result from a previous request.
...
Expand |
---|
|
Field | Details |
---|
message* | Expand |
---|
| Field | Details |
---|
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 |
|
| 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 |
|
5.17 - Generic Request (new message)
This message is used for registering a patient (by the embedded patient block).
This may be required for example for direct WU requests until 5.11 is available or to reactivate a closed patient case on receiving registry side.
...
Expand |
---|
|
Field | Details |
---|
request* | Expand |
---|
| Field | Details |
---|
reason | string reason for the generic request |
|
| receivingRegistry* | string maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344-digit ION of the receiving registry | patient* | Embedded Patient Block | donor* | Donor ID |
|
...
Expand |
---|
|
limit | integer default: 100
| shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval |
|
5.18 Request + Response Flows
PlantUML Render Macro |
---|
format | PNG |
---|
align | left |
---|
title | Extended Typing |
---|
|
participant "Patient Registry" as PR control "Match-Connect" as MC control "Search & Match Service" as SM participant "Donor Registry" as DR skinparam SequenceMessageAlign center skinparam dpi 92 == Register Patient == PR -> SM : Create Patient activate SM #FFBBBB SM -> PR : Return wmdaId deactivate SM == Start Search == PR -> SM : Start Search activate SM #FFBBBB SM -> PR : Return searchId deactivate SM
PR -> SM : Check search status activate SM #FFBBBB SM -> PR : Return search status (Completed, Running, Errored) deactivate SM
PR -> SM : Retrieve search results activate SM #FFBBBB SM -> PR : Return search results deactivate SM
== Making Request == PR -[#dodgerblue]> DR : Extended Typing Request (incl. Embedded Patient Block) DR -[#dodgerblue]> PR : Reservation Response PR -[#dodgerblue]> DR : Request Cancellation
== Getting Response == DR -[#dodgerblue]> PR : Request Rejection DR -[#dodgerblue]> PR : Extended Typing Result (incl. Embedded Donor Block) |
PlantUML Render Macro |
---|
format | PNG |
---|
align | left |
---|
title | Sample Request |
---|
|
participant "Patient Registry" as PR control "Match-Connect" as MC control "Search & Match Service" as SM participant "Donor Registry" as DR skinparam SequenceMessageAlign center skinparam dpi 92 == Register Patient == PR -> SM : Create Patient activate SM #FFBBBB SM -> PR : Return wmdaId deactivate SM == Start Search == PR -> SM : Start Search activate SM #FFBBBB SM -> PR : Return searchId deactivate SM PR -> SM : Check search status
activate SM #FFBBBB SM -> PR : Return search status (Completed, Running, Errored) deactivate SM PR -> SM : Retrieve search results
activate SM #FFBBBB SM -> PR : Return search results deactivate SM
== Making Request == PR -[#dodgerblue]> DR : Sample Request (incl. Embedded Patient Block) DR -[#dodgerblue]> PR : Reservation Response PR -[#dodgerblue]> DR : Request Cancellation DR -[#dodgerblue]> PR : Request Rejection DR -[#dodgerblue]> PR : Sample Arrival DR -[#dodgerblue]> PR : IDM result (incl. Embedded Donor Block) DR -[#dodgerblue]> PR : Sample Information
== Getting Response == PR -[#dodgerblue]> DR : Request Rejection PR -[#dodgerblue]> DR : Sample Result |
PlantUML Render Macro |
---|
format | PNG |
---|
align | left |
---|
title | Infectious Disease Marker Request |
---|
|
participant "Patient Registry" as PR control "Match-Connect" as MC control "Search & Match Service" as SM participant "Donor Registry" as DR skinparam SequenceMessageAlign center skinparam dpi 92 == Register Patient == PR -> SM : Create Patient activate SM #FFBBBB SM -> PR : Return wmdaId deactivate SM == Start Search == PR -> SM : Start Search activate SM #FFBBBB SM -> PR : Return searchId deactivate SM
PR -> SM : Check search status
activate SM #FFBBBB SM -> PR : Return search status (Completed, Running, Errored) deactivate SM
PR -> SM : Retrieve search results
activate SM #FFBBBB SM -> PR : Return search results deactivate SM
== Making Request == PR -[#dodgerblue]> DR : IDM Request (incl. Embedded Patient Block) DR -[#dodgerblue]> PR : Reservation Response PR -[#dodgerblue]> DR : Request Cancellation == Getting Response == DR -[#dodgerblue]> PR : Request Rejection DR -[#dodgerblue]> PR : IDM Result (incl. Embedded Donor Block) |
PlantUML Render Macro |
---|
format | PNG |
---|
align | left |
---|
title | Reservation Request |
---|
|
participant "Patient Registry" as PR control "Match-Connect" as MC control "Search & Match Service" as SM participant "Donor Registry" as DR skinparam SequenceMessageAlign center
skinparam dpi 92 == Register Patient == PR -> SM : Create Patient activate SM #FFBBBB SM -> PR : Return wmdaId deactivate SM == Start Search == PR -> SM : Start Search activate SM #FFBBBB SM -> PR : Return searchId deactivate SM
PR -> SM : Check search status activate SM #FFBBBB SM -> PR : Return search status (Completed, Running, Errored) deactivate SM
PR -> SM : Retrieve search results activate SM #FFBBBB SM -> PR : Return search results deactivate SM
== Making Request == PR -[#dodgerblue]> DR : Reservation Request (incl. Embedded Patient Block) PR -[#dodgerblue]> DR : Request Cancellation
== Getting Response == DR -[#dodgerblue]> PR : Reservation Response (incl. Embedded Donor Block) PR -[#dodgerblue]> DR : Reservation Release Request
|
PlantUML Render Macro |
---|
format | PNG |
---|
align | left |
---|
title | Generic Request |
---|
|
@startuml participant "Patient Registry" as PR control "Match-Connect" as MC control "Search & Match Service" as SM participant "Donor Registry" as DR skinparam SequenceMessageAlign center skinparam dpi 92 == Register Patient == PR -> SM : Create Patient activate SM #FFBBBB SM -> PR : Return wmdaId deactivate SM == Start Search ==
PR -> SM : Start Search activate SM #FFBBBB SM -> PR : Return searchId deactivate SM PR -> SM : Check search status activate SM #FFBBBB SM -> PR : Return search status (Completed, Running, Errored) deactivate SM
PR -> SM : Retrieve search results activate SM #FFBBBB SM -> PR : Return search results deactivate SM
== Making Request == PR -[#dodgerblue]> DR : Generic Request (incl. Embedded Patient Block) DR -[#dodgerblue]> PR : Reservation Response PR -[#dodgerblue]> DR : Request Cancellation
== Getting Response == DR -[#dodgerblue]> PR : Request Rejection @enduml |
v1.0.1
5.18 Request + Response Flows
Generic
Image Removed
Extended Typing
Image Removed
Infectious Disease Marker
Image Removed
Sample Request
Image Removed
Reservation Request
Image Removed