
3.1 - Patient Identification
A patientId may be provided when registering a new patient in WMDA Search & Match. Upon registration, a wmdaId will be assigned and returned. The wmdaId itself is guaranteed to be globally unique, though it cannot guarantee that the same patient is not registered by multiple organisations using the same patientId or with different patientId's within the same organisation. The wmdaId must be used to identify the patient in all calls to the Search, Match & Connect (SMC) service after the initial patient registration.
Patient Identifiers
Identifier | Description |
---|
patientId | - Provided by the local registry system.
- Should be worldwide unique.
- Should follow the construct of hub code + local patient id.
- The hub code usually are the two-character ISO country code of the registry (e.g. DE for Germany)
- In the case of multiple registries in one country, a replacement code will be assigned.
- Should be provided as a user-friendly (displayable) id for use on screens and on documentation.
|
wmdaId | - Generated by the central (SMC) system.
- Must be globally unique.
- Must be used for all system-to-system patient identification after the initial patient registration.
- Should be displayed on screens and on documentation.
|
3.2 - Create Patient
The createPatient endpoint is used to submit a patient to the Search & Match Service. This call returns a wmdaId for the patient.
Post |
---|
createPatient |
Field | Details |
---|
patientId | string maxLength: 17 nullable: true example: XY1234POrganisation unique identifier for patient. Cannot be set unless "legalTerms" is set to "true". Do not use real names here. | hla* | {...} | idm | {...} | dateOfBirth | string($date) nullable: true maxLength: 10 example: 1961-05-27 | diagnosis | {...} | diseasePhase | string nullable: true Enum: Array [ 48 ] | ethnicity | string nullable: true Enum: Array [ 21 ] | poolCountryCode | string maxLength: 2 pattern: ^[A-Z]{2} nullable: true example: NLISO 3166-1 alpha-2 Country Code (capitalized) | transplantCentreId | string maxLength: 10 nullable: true example: TC X | abo | string nullable: true Enum: Array [ 4 ] | rhesus | string nullable: true Enum: Array [ 2 ] | weight | integer nullable: true minimum: 1 maximum: 999 example: 76 | sex | string nullable: true Enum: Array [ 2 ] | legalTerms | boolean nullable: true default: false example: trueIf not set to true, then patientId will not be stored. |
|
Field | Details |
---|
wmdaId | integer example: 123456 nullable: false |
|
|
3.3 - Update Patient
The updatePatient endpoint is used to update a patient with the Search & Match Service.
Put |
---|
updatePatient |
Field | Details |
---|
patientId | string maxLength: 17 nullable: true example: XY1234POrganisation unique identifier for patient. Cannot be set unless "legalTerms" is set to "true". Do not use real names here. A patient ID can only be updated when it was not set before. | hla* | {...} | idm | {...} | dateOfBirth | string($date) nullable: true maxLength: 10 example: 1961-05-27 | diagnosis | {...} | diseasePhase | string nullable: true Enum: Array [ 48 ] | ethnicity | string nullable: true Enum: Array [ 21 ] | poolCountryCode | string maxLength: 2 pattern: ^[A-Z]{2} nullable: true example: NLISO 3166-1 alpha-2 Country Code (capitalized) | transplantCentreId | string maxLength: 10 nullable: true example: TC X | abo | string nullable: true Enum: Array [ 4 ] | rhesus | string nullable: true Enum: Array [ 2 ] | weight | integer nullable: true minimum: 1 maximum: 999 example: 76 | sex | string nullable: true Enum: Array [ 2 ] | legalTerms | boolean nullable: true default: false example: trueIf not set to true, then patientId will not be stored. | wmdaId* | integer example: 123456 nullable: false |
|
|
3.4 - Update Patient Status
The updatePatientStatus endpoint is used to update a patient's search status with the Search & Match Service.

Put |
---|
updatePatientStatus |
Field | Details |
---|
wmdaId* | integer example: 123456 nullable: false | newStatus* | string nullable: false Enum: Array [ 4 ] | changeReason | string nullable: trueReason why the change was made. Mandatory when changing to "STP" Enum: Array [ 21 ] |
|
Field | Details |
---|
wmdaId* | integer example: 123456 nullable: false | status* | string maxLength: 3 nullable: false Enum: Array [ 4 ] | changeReason | string maxLength: 3 nullable: trueReason why the change was made. Mandatory when changing to "STP" Enum: Array [ 21 ] |
|
|
3.5 - Retrieve Patient
The retrievePatient is used to retrieve an individual patient's information from the Search & Match Service.
(DO NOT USE, TO BE DEPRECATED in V3. Use patients/list endpoint instead)
Get |
---|
retrievePatient |
Field | Details |
---|
wmdaId* | integer example: 123456 nullable: false |
|
Field | Details |
---|
patientId* | string maxLength: 17 nullable: true example: XY1234POrganisation unique identifier for patient. Cannot be set unless "legalTerms" is set to "true". Do not use real names here. | status* | string nullable: false Enum: Array [ 5 ] | hla* | {...} | idm* | {...} | dateOfBirth* | string($date) nullable: true maxLength: 10 example: 1961-05-27 | diagnosis* | {...} | diseasePhase* | string nullable: true Enum: Array [ 48 ] | ethnicity* | string nullable: true Enum: Array [ 21 ] | poolCountryCode* | string maxLength: 2 pattern: ^[A-Z]{2} nullable: true example: NLISO 3166-1 alpha-2 Country Code (capitalized) | transplantCentreId* | string maxLength: 10 nullable: true example: TC X | abo* | string nullable: true Enum: Array [ 4 ] | rhesus* | string nullable: true Enum: Array [ 2 ] | weight* | integer nullable: true minimum: 1 maximum: 999 example: 76 | sex* | string nullable: true Enum: Array [ 2 ] | legalTerms* | boolean nullable: true default: false example: trueIf not set to true, then patientId will not be stored. | wmdaId* | integer example: 123456 nullable: false | lastUpdated* | string($date-time) nullable: false maxLength: 255needed to help determine when patient can be automatically moved to STP state | lastViewed* | string($date-time) nullable: false maxLength: 255needed for sorting patients in the patient list | assignedUserName* | string minLength: 4 maxLength: 100 nullable: true example: janethesearchcoordinator@lunarregistry.comtypically the e-mail address of the user |
|
|
3.6 - Retrieve Patient List
The retrievePatientList endpoint is used to retrieve multiple patient's information from the Search & Match Service. You may define a page size, a specific page number, a series of allowable statuses and may limit to only patients assigned to you.
Post |
---|
retrievePatientList |
Field | Details |
---|
patientId | string maxLength: 17 nullable: true example: NL12345P Organisation unique identifier for patient. Cannot be set unless "legalTerms" is set to "true". Do not use real names here. | limit | integer nullable: true default: 100 example: 250
| offset | integer nullable: true default: 0 | onlyMyPatients | boolean default: 0 nullable: true example: true
Only return patients assigned to current user.
|
|
Field | |
---|
paging | Field | Details |
---|
limit* | integer default: 100 | offset* | integer default: 0 | totalCount* | integer minimum: 0 |
|
| patients | Field | Details |
---|
wmdaId* | integer example: 123456 nullable: false | patientId* | string maxLength: 17 nullable: true example: XY1234POrganisation unique identifier for patient. Cannot be set unless "legalTerms" is set to "true". Do not use real names here. | status* | string nullable: false Enum: Array [ 5 ] | dateOfBirth* | string($date) nullable: true maxLength: 10 example: 1961-05-27 | ethnicity* | string nullable: true Enum: Array [ 21 ] | lastUpdated* | string($date-time) nullable: false maxLength: 255needed to help determine when patient can be automatically moved to STP state | lastViewed* | string($date-time) nullable: false maxLength: 255needed for sorting patients in the patient list | assignedUserName* | string minLength: 4 maxLength: 100 nullable: true example: janethesearchcoordinator@lunarregistry.comtypically the e-mail address of the user | requests* | [...] |
|
|
|
|
3.7 - Assign User To Patient
The assignUserToPatient endpoint is used to assign a particular user name to a patient within the Search & Match Service.
3.9 - Update Registered Patient (PAT_UPD)
The updateRegisteredPatient endpoint is used to update a registered patient with a partner registry.
Send (Post) | Retrieve (Post) |
---|
updateRegisteredPatient | updateRegisteredPatientRetrieve |
Field | Details |
---|
| integer maximum: 9999 minimum: 0 maxLength: 4 minLength: 4 example: 12344 digit ION of receiving registry | patient* | Embedded Patient Block |
|
| limit | integer default: 100
| shouldPeek | boolean default: false
Set to true if you want messages to remain available after retrieval | messageSequenceNumber | integer example: 12345 Optional field to request a message with a specific messageSequenceNumber. If that message (no longer) exists then no message will be returned. |
|
|
3.10 -
