You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 122 Next »


General considerations:

  • A patient registration embedded block will be sent together with each request. This block contains both wmdaId and patientId of the patient.

  • The donor requested has to be reserved at the remote hub and reported back to the requesting hub / patient registry by an embedded donor block with the donor status reflecting the change (DONOR_CB with D_STATUS = ”RS”).

  • ReferenceCode: In order to couple messages to the same request, e.g. VT request (SMP_REQ) and its results (SMP_ARR, SMP_RES) all messages following the request must have a referenceCode as part of the message.

    • The message ID (correlationGUID) of the request message (TYP_REQ, IDM_REQ, SMP_REQ, RSV_REQ, etc...) will be used as the 'referenceCode' for the rest of the request related message flow.

5.1 - Extended Typing Request

This message is used to request an extended typing of a donor (adult, adcu, cbu?). It will primarily contain information about what to type and for which donor.
Added to that a patient block (ref?) containing up-to-date information about the patient, and an address block (ref?) containing up-to-date contact-information about the needed institution(s). 
Expected return message is 'typing result' (5.2) or 'request rejected' (5.14).
Check paragraph '5.18 Extended Typing' for the related message flow.

SendRetrieve
TypingRequestTypingRequestRetrieve
  • Typing request info
    • donor
      • type (adult, adcu, cbu)
      • id (grid, id)
    • requestDate
    • resolutionRequired
    • urgent
    • remark
  • Patient Block (6.1.3)
  • Address Block (6.1.2)
  • Meta Block (6.1.1)
  • Payload TypingRequest

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 the non-high resolution.

The coding schema theoretically allows more combinations than the previous bitstring (e.g. non-high DRB1 typing). The actually valid combinations have to be published in the national rules of each registry. The local user interfaces will have to take care that no invalid or previously undefined requests are issued.

Combinations are possible, i.e. several loci may be requested in one message.

The appropriate action if the typing request cannot be accepted or has to be changed by the recipient, e.g. due to national rules, is to inform the requesting side what was done. If only the resolution was changed (the sender will receive something different than ordered - either more or less) or only a part of the requested loci were accepted (the sender will only receive parts of what was ordered): send a MSG_RSP containing the warning.

5.2 - Extended Typing Results

This message is used to send the results of the initial ET request back to the requesting registry. 
Check paragraph '5.18 Extended Typing' for the related message flows.

SendRetrieve
TypingResponseTypingResponseRetrieve
  • Extended Typing Result
    • patient (wmdaId)
    • referenceCode 
    • hlaNomenclatureVersion
    • etSampleType
    • remark
  • Donor Block (6.1.4)
  • Meta Block (6.1.1)
  • Payload TypingResponse

Rules

After the TypingResults (TYP_RES) message which includes an embedded donor (DONOR_CB) block, a separate update must be made to the Search & Match system with the updated donor data to ensure up-to-date master data.

5.3 - Sample Request

The SampleRequestRequest (and SampleRequestRetrieve) is used to request a VT for a specific donor/product for a patient. The message, as all requests, has an embedded 'register_patient' part. Next to the actual request information the institutions needed are sent explicitly as an embedded 'addressBlock' (6.1).

The messageId of this message will be used as 'referenceCode' for the rest of the request related message flow.

EMDIS Semantic:

The fields ”earliest and latest date of sample reception” represent the lower and upper limit of a 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 field ACC_DAYS is a binary field with position 1 corresponding to Monday and position 7 corresponding to Sunday. A set bit means acceptable day, an unset bit means not acceptable day. For example, 1110000 means acceptable days for reception are Monday, Tuesday and Wednesday, not acceptable days are Thursday, Friday, Saturday and Sunday. The default value is 1111100 (accept all working days).

The quantity for the first product is optional when requesting DNA from a cord blood unit. In all other requests, the quantity fields for any of the corresponding product fields are required if a product is requested.

Number 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, not given in the request, the default value number of tubes is one.


SendRetrieve
SampleRequestRequest (comments reffer to changes to the current API definition)SampleRequestRetrieve
recipientinteger
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of recipient

correlationGuid*string($uuid)

Sender generated GUID used to correlate response acknowledgement

Payload
patient block*{patient block}
donor*
description:

Supply one node from the following

adult{...}
adcu{...}
cbu{...}
referenceCode*string($uuid)
requestDate*string($date-time)

Request date REQ_DATE Req 8

prod1*{...}
prod2{...}
prod3{...}
prod4{...}
receptionDate1*string($date-time)

Earliest date of sample reception REC_DATE1 Req 8 yyyy-MM-dd [or yyyyMMdd]

receptionDate2string($date-time)
nullable: true

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

acceptableReceptionDaysOfWeekstring
nullable: true

Weekdays acceptable for reception ACC_DAYS Opt 7

institutionToSendSampleTo*

address block

Address of the institution the sample must be sent to

institutionPaying*

address block

Details of the institution that must pay for the service

urgentboolean

Urgent request URGENT Opt 1

acknowledgementIdstring
maxLength: 17

nullable: true

example: 1234567890abcdefg

Acknowledgement ID ACK_ID Opt 17

remarkstring
nullable: true

Remark REMARK Opt 120



deliveredAtUtcstring($date-time)

Server-supplied timestamp showing time of Message delivery to recipient's inbox queue

referenceMessageIdstring($uuid)
responseTypestringEnum:
Array [ 3 ]
remark[...]

Request

No parameters specified


recipientinteger
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of recipient

correlationGuid*string($uuid)

Sender generated GUID used to correlate response acknowledgement

Payload
patient*{patient block}
donor*{...}
referenceCode*string($uuid)
requestDate*string($date-time)

Request date REQ_DATE Req 8

requestDateEmdisstring
nullable: true

readOnly: true

EMDIS format of Request date REQ_DATE Req 8 yyyy-MM-dd [or yyyyMMdd]

prod1*{...}
prod2{...}
prod3{...}
prod4{...}
receptionDate1*string($date-time)

Earliest date of sample reception REC_DATE1 Req 8 yyyy-MM-dd [or yyyyMMdd]

receptionDate1Emdisstring
nullable: true

readOnly: true

EMDIS format of Earliest date of sample reception REC_DATE1 Req 8

receptionDate2string($date-time)
nullable: true

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

receptionDate2Emdisstring
nullable: true

readOnly: true

EMDIS format of Latest date of sample reception REC_DATE2 Opt 8

acceptableReceptionDaysOfWeekstring
nullable: true

Weekdays acceptable for reception ACC_DAYS Opt 7

institutionToSendSampleTo*

address block

Address of the institution the sample must be sent to

institutionPaying*

address block

Details of the institution that must pay for the service

urgentboolean

Urgent request URGENT Opt 1

acknowledgementIdstring
maxLength: 17

nullable: true

example: 1234567890abcdefg

Acknowledgement ID ACK_ID Opt 17

remarkstring
nullable: true

Remark REMARK Opt 120

5.4 - Sample Information

The SampleInfoRequest (and SampleInfoRetrieve) is used to sent relevant secondary information which may arise in the context of sample request.

The referenceCode is the 'messageId' from the request message.

EMDIS Semantic:

The SMP_INFO message can only be exchanged in one direction: from donor side to 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” or the donor is reserved for this patient after the sample request.

A request is considered as ”open” as long as the patient registry has neither reported the sample result nor a ”service cannot be performed (NO_RES)” information 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.


SendRetrieve
SampleInfoRequest (comments reffer to changes to the current API definition)SampleInfoRetrieve
  • Payload
    • patient (just the wmdaID)
    • donor (format change see above)
    • referenceCode (see text above)
    • informationType
    • remark
  • Response
    • deliveredAtUtc
    • messageId
    • responseType
    • remark
  • Payload
    • n/a




  •  Response
    • MetaInformation
    • Send payload

5.5 - Sample Arrival

The SampleArrivalRequest (and SampleArrivalRetrieve) is used to transmit proposed date of sample arrival.

The messageId of this message will be used as 'referenceCode' for the rest of the request related message flow.

EMDIS Semantic:

This message is sent in response to a SMP_REQ and indicates the arrival date of the sample.


SendRetrieve
SampleArrivalRequest (comments refer to changes to the current API definition)SampleArrivalRetrieve
  • Payload
    • patient (just the wmdaID)
    • donor (format change see above)
    • referenceCode (see text above)
    • arrivalDate
    • collectionDate
    • labelId (is there a usecase for this ID, where it is not the donor ID?)
    • sampleType (missing: was this field dropped by purpose?)
    • remark
  • Response
    • deliveredAtUtc
    • messageId
    • responseType
    • remark
  • Payload
    • n/a






  •  Response
    • MetaInformation
    • Send payload

5.6 - Sample Results

The SampleResponseRequest (and SampleResponseRetrieve) is used to transmit the results of the sample request.

The messageId of this message will be used as 'referenceCode' for the rest of the request related message flow.

DON_ACCPT = ”N” means: donor can be released immediately.

DON_ACCPT = ”Y” means: please reserve the donor according to your national rules. If possible, the donor should be reserved at the remote hub and reported back to the requesting hub by adding a DONOR_DIFF block to the message STATUS = ”RS”.  For all the other patients the donor should be updated by sending a DIFF update to S&M. A delta search will then update the search results for those patients.

Suggested text: "Y" means: please prolong donor reservation according to your national rules.


EMDIS Semantic:

The fields for the infectious disease markers are included in this message in order to give the transplant centres the possibility to report the results of IDMs they might have tested.

If no SMP_RES can be sent then a NO_RES should be sent with the reason field populated to explain why.


SendRetrieve
SampleResponseRequest (comments refer to changes to the current API definition)SampleResponseRetrieve
  • Payload
    • patient (just the wmdaID)
    • donor (format change see above)
    • referenceCode (see text above)
    • hlaNomenclatureVersion
    • hla (full block of all HLA typing results)
    • mlcGch
    • mlcHvg
    • gvhReactivityPercent
    • hvgReactivityPercent
    • abo
    • rh (missing)
    • ccr5 (missing)
    • cmv (→ antiCmv)
    • cmvDate (→ antiCmvDate)
    • cmvNat (missing)
    • cmvNatDate (missing)
    • hbsAg
    • antiHbc
    • antiHbs
    • hbvNat (missing)
    • antiHcv
    • hcvNat (missing)
    • antiHev (missing)
    • hiv (→ antiHiv12)
    • hiv1Nat (missing)
    • hivP24
    • antiHtlv
    • syphilis (missing)
    • antiChagas (missing)
    • chagasNat (missing) 
    • ebv
    • toxo
    • pb19Nat (missing)
    • alt
    • donAccpt
    • remark (missing: was this field dropped by purpose?)
  • Response
    • deliveredAtUtc
    • messageId
    • responseType
    • remark
  • Payload
    • n/a

























  •  Response
    • MetaInformation
    • Send payload

5.7 - Infectious Disease Marker Request

This message is used to request infectious disease marker test results of the selected donor. Expected return message is 'idm result' (5.8) or 'request rejected' (5.15).

SendRetrieve
InfectiousDiseaseMarkerRequestInfectiousDiseaseMarkerRequestRetrieve
FieldDetails
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: Position 1: Blood group and rhesus Position 2: CMV status Position 3: Toxoplasmosis Position 4: EBV Position 5: HIV status Position 6: HIV P24 Position 7: Hepatitis B surface antigen Position 8: Antibody to Hepatitis B surface antigen Position 9: Antibody to Hepatitis B core antigen Position 10: Antibody to Hepatitis C virus Position 11: Lues status (Treponema pallidum) Position 12: ALT status Position 13: Antibody to HTLV1.V2

institutionPaying*{...}
acknowledgementIdstring
maxLength: 17

nullable: true

example: 1234567890abcdefg

Acknowledgement ID ACK_ID Opt 17

remarkstring
maxLength: 120

nullable: true

example: Please also test for SARS-CoV-2

Remark REMARK Opt 120

recipientinteger
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of recipient

patientEmbedded Patient Block
donorEmbedded Donor Block
FieldDetails
wmdaResponse{...}
No parameters specified
FieldDetails
originalMessage{...}
metaInformationEmbedded Meta Block

5.8 - Infectious Disease Marker Results

This message is used to send the results of the IDM request back to the requesting registry. 
Check paragraph '5.18 Infectious Disease Marker' for the related message flow.

SendRetrieve
InfectiousDiseaseMarkerResultRequestInfectiousDiseaseMarkerResultRetrieve
FieldDetails
referenceCode*string($uuid)
markerAsArray[...]
markerinteger
maxLength: 19

minLength: 19

example: 111110000111

Binary fixed length string in which each position represents a test to be requested: Position 1: Blood group and rhesus Position 2: CMV status Position 3: Toxoplasmosis Position 4: EBV Position 5: HIV status Position 6: HIV P24 Position 7: Hepatitis B surface antigen Position 8: Antibody to Hepatitis B surface antigen Position 9: Antibody to Hepatitis B core antigen Position 10: Antibody to Hepatitis C virus Position 11: Lues status (Treponema pallidum) Position 12: ALT status Position 13: Antibody to HTLV1.V2

sampleExtractionDatestring($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

recipientinteger
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of recipient

donor*Embedded Donor Block
patient*Embedded Patient Block
FieldDetails
wmdaResponse{...}
No parameters specified
FieldDetails
originalMessage{...}
metaInformationEmbedded Meta Block

Rules

After the IDM_RES message which includes an embedded donor (DONOR_CB) block, a separate update must be made to the Search & Match system with the updated donor data to ensure up-to-date master data.

5.9 - Reservation Request

This message is used to request the reservation of a donor for transplant at the receiving registry.


SendRetrieve
ReservationRequestRequestReservationRequestRetrieve
FieldDetails
payload*
FieldDetails
patient*Embedded Patient Block
donorEmbedded Donor Block
requestDate*string($date-time)

Request date REQ_DATE Req 8 yyyy-MM-dd [or yyyyMMdd]

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

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

acknowledgementIdstring
maxLength: 17

nullable: true

example: 1234567890abcdefg

Acknowledgement ID ACK_ID Opt 17

remarkstring
maxLength: 120

nullable: true

Remark REMARK Opt 120

recipient*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of recipient

correlationGuid*string($uuid)

Sender generated GUID used to correlate response acknowledgement

FieldDetails
wmdaResponse{...}
No parameters specified
originalMessage{...}
metaInformationEmbedded Meta Block

5.10 - Reservation Result

This message is used to notify the requesting patient registry if the Reservation Request has been confirmed by the donor registry.


SendRetrieve
ReservationResultRequestReservationResultRetrieve
FieldDetails
sender*string
maxLength: 4

minLength: 4

example: 5678

4 digit ION of sender

sentAtUtc*string($date-time)

Server-supplied timestamp showing UTC time sender posted (i.e. sent) MessageRequest.

deliveredAtUtc*string($date-time)

Server-supplied timestamp showing UTC time of Message delivery to recipient's inbox queue.

payload*
FieldDetails
patient*{...}
donor*{...}
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

recipient*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of recipient

correlationGuid*string($uuid)

Sender generated GUID used to correlate response acknowledgement

messageTypestring

Message types supported by WmdaConnect

Enum:
Array [ 21 ]
FieldDetails
wmdaResponse{...}
No parameters specified
FieldDetails
originalMessage{...}
metaInformationEmbedded Meta Block

Rules

After the ReservationResult (RSV_RES) message which includes an embedded donor (DONOR_CB) block, a separate update must be made to the Search & Match system with the updated donor data to ensure up-to-date master data.

5.11 - Donor Release Request (Reservation Release)

This message is used so the patient registry can notify the donor registry to release a donor reservation when it is no longer needed (e.g. patient deceased or was transplanted with another donor). This should be used if the Reservation Request has been fulfilled, if the Reservation Request has not been fulfilled 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.


SendRetrieve
ReservationReleaseRequestReservationReleaseRetrieve
  • Reservation Release
    • patient (wmdaId)
    • referenceCode 
    • requestDate
    • reason
    • remark
  • Donor Block (6.1.4)
  • Meta Block (6.1.1)
  • Payload Reservation Release

Rules

After the Reservation Release message which includes an embedded donor (DONOR_CB) block, a separate update must be made to the Search & Match system with the updated donor data to ensure up-to-date master data. 

5.12 - Workup Request

Future Phase

5.13 - Workup Status

Future Phase

5.14 - Request Cancellation

This message is used to cancel a previous request that has been sent to the donor registry. The Request  It must have a preceding request that is being cancelled.


SendRetrieve
RequestCancellationRequestRequestCancellationRetrieve
FieldDetails
sender*string
maxLength: 4

minLength: 4

example: 5678

4 digit ION of sender

sentAtUtc*string($date-time)

Server-supplied timestamp showing UTC time sender posted (i.e. sent) MessageRequest.

deliveredAtUtc*string($date-time)

Server-supplied timestamp showing UTC time of Message delivery to recipient's inbox queue.

payload*{...}
recipient*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of recipient

correlationGuid*string($uuid)

Sender generated GUID used to correlate response acknowledgement

messageTypestring

Message types supported by WmdaConnect

Enum:
Array [ 21 ]
FieldDetails
wmdaResponse{...}
No parameters specified
FieldDetails
originalMessage{...}
metaInformationEmbedded Meta Block

5.15 - Request Rejected 

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


SendRetrieve
RequestRejectedRequestRequestRejectedRetrieve
FieldDetails
payload*
FieldDetails
patient*Embedded Patient Block
donor*Embedded Donor Block
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

recipient*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of recipient

correlationGuid*string($uuid)

Sender generated GUID used to correlate response acknowledgement

FieldDetails
wmdaResponse{...}
No parameters specified
originalMessage{...}
metaInformationEmbedded Meta Block

Rules

After the Request Rejected message which includes an embedded donor (DONOR_CB) block, a separate update must be made to the Search & Match system with the updated donor data to ensure up-to-date master data

5.16 - Result Reminder

This message is sent by the requesting registry to the receiving registry to remind the receiving registry of an outstanding results from a previous request.

SendRetrieve
ResultReminderRequestResultReminderRetrieve
FieldDetails
sender*string
maxLength: 4

minLength: 4

example: 5678

4 digit ION of sender

sentAtUtc*string($date-time)

Server-supplied timestamp showing UTC time sender posted (i.e. sent) MessageRequest.

deliveredAtUtc*string($date-time)

Server-supplied timestamp showing UTC time of Message delivery to recipient's inbox queue.

payload*{...}
recipient*string
maximum: 9999

minimum: 0

maxLength: 4

minLength: 4

example: 1234

4 digit ION of recipient

correlationGuid*string($uuid)

Sender generated GUID used to correlate response acknowledgement

messageTypestring

Message types supported by WmdaConnect

Enum:
Array [ 21 ]
FieldDetails
wmdaResponse{...}
No parameters specified
FieldDetails
originalMessage{...}
metaInformationEmbedded Meta Block


5.17 - Generic Request

Used for registering a patient (by the embedded patientBlock).

Is used for example for direct WU requests until 5.11 is available or to reactivate a closed patient case on receiving registry side.

5.18 Request + Response Flows

Generic 

Extended Typing 

Infectious Disease Marker


Sample Request


  • No labels