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 Result and/or Request Rejected.

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

string
maxLength: 19
example: XX12345

resolutionRequired*string
example: "a": high

Replacement of the single string based resolutionRequired.

address*Embedded Address Block
isUrgentboolean

Urgent request URGENT Opt 1

remarkstring
maxLength: 1000

nullable: true

example: the patient case is very urgent

Remark 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)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
originalMessage*

...

metaInformation*Embedded Meta Block

Rules

resolutionRequired: string-enum with the following options

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

Details

response*
FieldDetails
requestIdstring
maxLength: 19
example: XX12345
referenceMessageId*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: 1000

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

donor*Embedded Donor Block (donor in response)
patient*
FieldDetails
wmdaId*

integer
nullable: false

example: 1234

ID provided by the WMDA

FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 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]

latestDateCanReceivestring($date-time)
nullable: true

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

Urgent request URGENT Opt 1

remarkstring
maxLength: 1000

nullable: true

example: the patient case is very urgent

Remark 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)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 19
example: XX12345
referenceMessageId*string($uuid)
informationType*string
maxLength: 3

minLength: 3

Information Type INFO_TYPE Req 3

Enum:

Array [ BMP, BMM, SCP, SCM, ABS, MUL, UBC, RPE, CMV, ROI, MED, OTH ]

remarkstring
maxLength: 1000
nullable: true

example: the patient case is very urgent

Remark REMARK Opt 120

receivingRegistry*integer
maximum: 9999
minimum: 1000

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*
FieldDetails
wmdaId*

integer
nullable: false

example: 1234

ID provided by the WMDA

 

donor*Embedded Donor Block (donor in request)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 19
example: XX12345
referenceMessageId*string($uuid)
arrivalDate*string($date-time)

Proposed date of sample arrival ARRV_DATE Req 8

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

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

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 [ AS, WB, RC, FP, ED ]
remarkstring
maxLength: 1000
nullable: true

example: the patient case is very urgent

Remark REMARK Opt 120

receivingRegistry*integer
maximum: 9999
minimum: 1000

maxLength: 4

minLength: 4

example: 1234

4 digit ION of the receiving registry

patient*
FieldDetails
wmdaId*

integer
nullable: false

example: 1234

ID provided by the WMDA

 

donor*Embedded Donor Block (donor in request)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 19
example: XX12345
referenceMessageId*string($uuid)
hlaNomenclatureVersion*string
default: 3

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

donorStillOfInterestboolean

Donor still of interest DON_ACCPT Req 1

receivingRegistry*integer
maximum: 9999
minimum: 1000

maxLength: 4

minLength: 4

example: 1234

4 digit ION of the receiving registry

patient*
FieldDetails
wmdaId*

integer
nullable: false

example: 1234

ID provided by the WMDA

 

donor*Embedded Donor Block (donor in request)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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
request*
FieldDetails
requestIdstring
maxLength: 19
example: XX12345
marker*{...}
institutionPaying*Embedded Address Block
remarkstring
maxLength: 1000
nullable: true

example: the patient case is very urgent

Remark 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)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 19
example: XX12345
referenceMessageId*string($uuid)
marker*[...]
sampleExtractionDate*string($date-time)
nullable: false

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

example: the patient case is very urgent

Remark 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*
FieldDetails
wmdaId*

integer
nullable: false

example: 1234

ID provided by the WMDA

 

FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 19

expirationDatestring($date-time)
nullable: true

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

remarkstring
maxLength: 1000
nullable: true

example: the patient case is very urgent

Remark REMARK Opt 120

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)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 19

referenceMessageId*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: 1000
nullable: true

example: the patient case is very urgent

Remark REMARK Opt 120

receivingRegistry*string
maximum: 9999
minimum: 1000

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*
FieldDetails
wmdaId*

integer
nullable: false

example: 1234

ID provided by the WMDA

 

donor*Embedded Donor Block (donor in response)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 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

remarkstring
maxLength: 1000
nullable: true

example: the patient case is very urgent

Remark REMARK Opt 120

receivingRegistry*string
maximum: 9999
minimum: 1000

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*
FieldDetails
wmdaId*

integer
nullable: false

example: 1234

ID provided by the WMDA

 

donor*Embedded Donor Block (donor in request)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 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

remarkstring
maxLength: 1000
nullable: true

example: the patient case is very urgent

Remark REMARK Opt 120

receivingRegistry*string
maximum: 9999
minimum: 1000

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*
FieldDetails
wmdaId*

integer
nullable: false

example: 1234

ID provided by the WMDA

 

donor*Embedded Donor Block (donor in request)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 19

referenceMessageId*string($uuid)
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

remarkstring
maxLength: 1000
nullable: true

example: the patient case is very urgent

Remark REMARK Opt 120

receivingRegistry*string
maximum: 9999
minimum: 1000

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*
FieldDetails
wmdaId*

integer
nullable: false

example: 1234

ID provided by the WMDA

 

donor*Embedded Donor Block (donor in request)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 19

referenceMessageId*string($uuid)
resultType*

string
maxLength: 9
nullable: false

Enum: [ extendedTypingResponse, sampleArrival, sampleResponse, infectiousDiseaseMarkerResult, reservationResponse ]

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

example: the patient case is very urgent

Remark REMARK Opt 120

receivingRegistry*string
maximum: 9999
minimum: 1000

maxLength: 4

minLength: 4

example: 1234

4-digit ION of the receiving registry

patient*
FieldDetails
wmdaId*

integer
nullable: false

example: 1234

ID provided by the WMDA

 

donor*Embedded Donor Block (donor in request)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
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: 19

reason

string

reason 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)
FieldDetails
metaInformation*Embedded Meta 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
messages*
FieldDetails
originalMessage*

...

metaInformation*Embedded Meta Block


5.18 Request + Response Flows


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)

 


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



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)



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



@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