General considerations:

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. 
The expected return messages are Reservation ResponseExtended Typing Results and/or Request Rejected.

Send (Post)
Retrieve (Post)
extendedTypingRequestRequestextendedTypingRequestRetrieve
FieldDetails
request*
FieldDetails
requestId

string
maxLength: 15
example: XX12345

resolutionRequired*string
example: "a": high

Replacement of the single string based resolutionRequired.

addressEmbedded Address Block
isUrgent*boolean

Urgent request URGENT Opt 1

remarkstring
maxLength: 120

nullable: true

example: the patient case is very urgent

Remark REMARK Opt 120

receivingRegistry*integer
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of the receiving registry

patient*Embedded Patient Block
donor*Embedded Donor Block (donor in request)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 12345

Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.

FieldDetails
generalInformation*Embedded General Information Block
originalMessage*{...}
metaInformation*Embedded Meta Block

Rules

resolutionRequired: Character string with fixed length in which each position represents an HLA locus. The coding of the resolution required for every position is:

A hyphen (’-’) indicates that a locus is not requested. The string is interpreted from left to right with position 1 as the leftmost position.

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--

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)  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)
extendedTypingResponseRequestextendedTypingResponseRetrieve
Field

Details

response*
FieldDetails
requestIdstring
maxLength: 15
example: XX12345
referenceCode*string($uuid)
hlaNomenclatureVersion*string
default: 3

Major version of HLA Nomenclature HLA_NOM_VER Req 7

etSampleTypestring
nullable: true

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 ]
remarkstring
maxLength: 120

nullable: true

example: the patient case is very urgent

Remark REMARK Opt 120

receivingRegistry*integer
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

donor*Embedded Donor Block (donor in response)
patient*Patient ID
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 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 Block
originalMessage*{...}
metaInformation*Embedded Meta Block

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
FieldDetails
request*
requestIdstring
maxLength: 15
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: true

Latest date of sample reception REC_DATE2 Opt 8 yyyy-MM-dd [or yyyyMMdd]

acceptableReceptionDaysOfWeek*integer
nullable: true

minLength: 7

maxLength: 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
isUrgentboolean

Urgent request URGENT Opt 1

remarkstring
maxLength: 120

nullable: true

example: the patient case is very urgent

Remark REMARK Opt 120

receivingRegistry*integer
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*Embedded Patient Block
donor*Embedded Donor Block (donor in request)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 12345

Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.

FieldDetails
generalInformation*Embedded General Information Block
originalMessage*{...}
metaInformation*Embedded Meta Block

Rules:

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
message*
requestIdstring
maxLength: 15
example: XX12345
referenceCode*string($uuid)
informationType*string
maxLength: 3

minLength: 3

Information Type INFO_TYPE Req 3

Enum:
Array [ 12 ]
remarkstring
nullable: true

Remark REMARK Opt 120

receivingRegistry*integer
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*

Patient ID

donor*Embedded Donor Block (donor in request)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 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 Block
originalMessage*{...}
metaInformation*Embedded Meta Block

Rules:

5.5 - Sample Arrival (SMP_ARR)

This message is used to transmit the proposed date of the sample arrival.

Send (Post)
Retrieve (Post)
sampleArrivalRequest (comments refer to changes to the current API definition)sampleArrivalRetrieve
FieldDetails
message*
FieldDetails
requestIdstring
maxLength: 15
example: XX12345
referenceCode*string($uuid)
arrivalDate*string($date-time)

Proposed date of sample arrival ARRV_DATE Req 8

collectionDate*string($date-time)
nullable: true

Donor blood collection date COLL_DATE Opt 8

labelId*string
maxLength: 19

Verbatim verification typing (VT) sample label ID D_LABEL_ID Req 19

ctSampleType*string
nullable: true

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 ]
remarkstring
maxLength: 120

nullable: true

example: the patient case is very urgent

Remark REMARK Opt 120

receivingRegistry*integer
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of the receiving registry

patient*Patient ID
donor*Embedded Donor Block (donor in request)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 12345

Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.

FieldDetails
generalInformation*Embedded General Information Block
originalMessage*{...}
metaInformation*Embedded Meta Block

5.6 - Sample Response (SMP_RES)

This message is used to transmit the results of the sample testing.

Send (Post)
Retrieve (Post)
sampleResponseRequest (comments refer to changes to the current API definition)sampleResponseRetrieve
FieldDetails
response*
FieldDetails
requestIdstring
maxLength: 15
example: XX12345
referenceCode*string($uuid)
hlaNomenclatureVersion*string
default: 3

Major version of HLA Nomenclature HLA_NOM_VER Req 7

hla{...}
idm{...}
abostring
nullable: true
Enum:
Array [ 4 ]
rhesusstring
nullable: true
Enum:
Array [ 2 ]
donorStillOfIntereststring
maxLength: 1

Donor still of interest DON_ACCPT Req 1

Enum:
Array [ 2 ]
receivingRegistry*integer
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of the receiving registry

patient*Patient ID
donor*Embedded Donor Block (donor in request)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 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 Block
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
FieldDetails
response*
FieldDetails
requestIdstring
maxLength: 15
example: XX12345
markerAsArray[...]
marker*integer
maxLength: 19

minLength: 19

example: 111110000111

Binary fixed length string in which each position represents a test to be requested: details in Data Dictionary

institutionPaying*Embedded Address Block
remarkstring
maxLength: 120

nullable: true

example: Please also test for SARS-CoV-2

Remark REMARK Opt 120

receivingRegistry*integer
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*Embedded Patient Block
donor*Embedded Donor Block (donor in request)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 12345

Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.

FieldDetails
generalInformation*Embedded General Information Block
originalMessage*{...}
metaInformation*Embedded Meta Block

Rules:

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)
infectiousDiseaseMarkerResultRequestinfectiousDiseaseMarkerResultRetrieve
FieldDetails
response*
FieldDetails
requestIdstring
maxLength: 15
example: XX12345
referenceCode*string($uuid)
markerAsArray[...]
marker*integer
maxLength: 19

minLength: 19

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)
nullable: true

Date of sample extraction D_EXTR_DATE Opt 8

donorCcr5Statusstring
maxLength: 2

nullable: true

Donor CCR5 status D_CCR5 Opt 2

donorWeightKginteger($int32)
maximum: 999

minimum: 0

nullable: true

Donor weight in kilograms D_WEIGHT Opt 3

donorHeightCminteger($int32)
maximum: 999

minimum: 0

nullable: true

example: 175

Donor height in centimetres D_HEIGHT Opt 3

numberOfTransfusionsinteger($int32)
maximum: 9

minimum: 0

nullable: true

Number of transfusions D_NMBR_TRANS Opt 1

numberOfPregnanciesinteger($int32)
maximum: 9

minimum: 0

nullable: true

Number of pregnancies D_NMBR_PREG Opt 1

idm{...}
remarkstring
maxLength: 120

nullable: true

Remark REMARK Opt 120

receivingRegistry*integer
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

donor*Embedded Donor Block (donor in response)
patient*Patient ID
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 12345

Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.

FieldDetails
generalInformation*Embedded General Information Block
originalMessage*{...}
metaInformation*Embedded Meta Block

Rules

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)
reservationRequestRequestreservationRequestRetrieve
FieldDetails
request*
FieldDetails
requestId

string

maxLength: 15

expirationDatestring($date-time)
nullable: true

Request date EXPI_DATE Opt 8 yyyy-MM-dd [or yyyyMMdd]

remarkstring
maxLength: 120

nullable: true

Remark REMARK Opt 120

receivingRegistry*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*Embedded Patient Block
donor*Embedded Donor Block (donor in request)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 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 Block
originalMessage*{...}
metaInformation*Embedded Meta Block

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.

Send (Post)
Retrieve (Post)
reservationResponseRequestreservationResponseRetrieve
FieldDetails
response*
FieldDetails
requestId

string

maxLength: 15

referenceCode*string($uuid)
expirationDatestring($date-time)
nullable: true

Date expiration of reservation EXPI_DATE Opt 8 yyyy-MM-dd [or yyyyMMdd]

confirmed*boolean

Confirmation of reservation CONFIRM Req 1

remarkstring
maxLength: 120

nullable: true

Remark REMARK Opt 120

receivingRegistry*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*Patient ID
donor*Embedded Donor Block (donor in response)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 12345

Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.

FieldDetails
generalInformation*Embedded General Information Block
originalMessage*{...}
metaInformation*Embedded Meta Block

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)
reservationReleaseRequestreservationReleaseRetrieve
FieldDetails
request*
FieldDetails
requestId

string

maxLength: 15

referenceCode*string($uuid)
reason*string
maxLength: 3

minLength: 3

nullable: true

Reason of request cancellation REASON_CNCL Opt 3

remarkstring
maxLength: 120

nullable: true

Remark REMARK Opt 120

receivingRegistry*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*Patient ID
donor*Embedded Donor Block (donor in request)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 12345

Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.

FieldDetails
generalInformation*Embedded General Information Block
originalMessage*{...}
metaInformation*Embedded Meta Block

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 that has been sent to the donor registry. The Request must have a preceding request that is being canceled.

Send (Post)
Retrieve (Post)
requestCancellationRequestrequestCancellationRetrieve
FieldDetails
message*
FieldDetails
requestId

string

maxLength: 15

referenceCode*string($uuid)
requestType*string
maxLength: 3

Type of request REQ_TYPE Req 3

reasonstring
maxLength: 3

minLength: 3

nullable: true

Reason of request cancellation REASON_CNCL Opt 3

remarkstring
maxLength: 120

nullable: true

Remark REMARK Opt 120

receivingRegistry*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*Patient ID
donor*Embedded Donor Block (donor in request)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 12345

Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.

FieldDetails
generalInformation*Embedded General Information Block
originalMessage*{...}
metaInformation*Embedded Meta Block

5.15 - Request Rejection (NO_RES)

This message is used to notify the requesting registry when a request cannot be fulfilled (service cannot be provided).


Send (Post)
Retrieve (Post)
requestRejectedRequestrequestRejectedRetrieve
FieldDetails
message*
FieldDetails
requestId

string

maxLength: 15

referenceCode*string($uuid)
requestType*string
maxLength: 3

Type of request REQ_TYPE Req 3

reason*string
maxLength: 3

minLength: 2

Reason REASON Req 3

remarkstring
maxLength: 120

nullable: true

Remark REMARK Opt 120

receivingRegistry*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*Patient ID
donor*Embedded Donor Block (donor in response)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 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 Block
originalMessage*{...}
metaInformation*Embedded Meta Block

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.

Send (Post)
Retrieve (Post)
resultReminderRequestresultReminderRetrieve
FieldDetails
message*
FieldDetails
requestId

string

maxLength: 15

referenceCode*string($uuid)
resultType*string
maxLength: 9

Type of result reminded RES_TYPE Req 9

expirationDatestring($date-time)
nullable: true

Request date EXPI_DATE Opt 8 yyyy-MM-dd [or yyyyMMdd]

remarkstring
maxLength: 120

nullable: true

Remark REMARK Opt 120

receivingRegistry*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*Patient ID
donor*Embedded Donor Block (donor in request)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 12345

Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.

FieldDetails
generalInformation*Embedded General Information Block
originalMessage*{...}
metaInformation*Embedded Meta Block

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 the receiving registry side.

Send (Post)
Retrieve (Post)
genericRequestRequestgenericRequestRetrieve
FieldDetails
request*
FieldDetails
requestId

string

maxLength: 15

reason

string

reason for the generic request

receivingRegistry*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*Embedded Patient Block
donor*Embedded Donor Block (donor in request)
FieldDetails
wmdaResponse*Embedded WMDA Response Block
limitinteger
default: 100

shouldPeekboolean
default: false

Set to true if you want messages to remain available after retrieval

messageSequenceNumber

integer
e
xamplet: 12345

Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned.

FieldDetails
generalInformation*Embedded General Information Block
originalMessage*{...}
metaInformation*Embedded Meta Block


5.18 Request + Response Flows


participant "Patient Registry" as PR

control "Match-Connect" as MC

control "Search & Match\nService" 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)

 


participant "Patient Registry" as PR

control "Match-Connect" as MC

control "Search & Match\nService" 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 : No Result

DR -[#dodgerblue]> PR : Sample Arrival

DR -[#dodgerblue]> PR : IDM result

DR -[#dodgerblue]> PR : Sample Information


== Getting Response ==

DR -[#dodgerblue]> PR : Request Rejection

PR -[#dodgerblue]> DR : Sample Result



participant "Patient Registry" as PR

control "Match-Connect" as MC

control "Search & Match\nService" 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)



participant "Patient Registry" as PR

control "Match-Connect" as MC

control "Search & Match\nService" 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 : Request Rejection

DR -[#dodgerblue]> PR : Reservation Response (incl. Embedded Donor Block)

PR -[#dodgerblue]> DR : Reservation Release Request