⚠Due to planned maintenance you will experience short (<30 min) downtime between 08:00 - 08:30 CET.
Table of Contents |
---|
4.1 - Start
...
search
A POST to the searches The startSearch endpoint is used to submit a search request to the Search & Match Service. This call returns a searchId for of the search.
SendPost | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
4.2 - Search summary
The retrieveSearchResultssummary A GET to the searches/{searchId} endpoint is used to request a search summary for of a search. It also contains the status of a the search and can therefore be used to check whether a the search is done.
retrieveSearchResultssummary{. which
Get | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
searches/{searchId} | |||||||||||||||||||||||||
Send | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Expand | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
patient | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
|
4.3 -
...
Retrieve all searches for a patient
A GET to the searches/patientSearches/{wmdaId} The retrieveSearchResultsDonors endpoint is used to retrieve search results for donors. Pagination is possible and optional filters can be provided. an overview off all searches that have been performed for a specific patient.
retrieveSearchResultsDonorssearchId
searchResultsIdinteger
searchIdinteger
nullable: false
minimum: 1filters{...}sortBystring
nullable: true
default: standardEnum:
Array [ 2 ]
Request
Get | ||||
---|---|---|---|---|
searches/patientSearches/{wmdaId} | ||||
Send | ||||
| ||||
pagination | {...} | |||
| ||||
Send | ||||
retrieveSearchResultsDonors |
Expand | ||
---|---|---|
| ||
|
Response
Expandtitle | Response |
---|
|
minimum: 1filters{...}sortBystring
nullable: true
default: standardEnum:
Array [ 2 ]
Expand | ||||
---|---|---|---|---|
| ||||
|
4.4 - Full report - Donors
The retrieveFullReportDonors endpoint is used to retrieve all available information for a specific donor in a search result.
minimum1searchIdfalse
minimum: 1integer
minimum: 0
minimum: 1integer
minimum: 0
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
searchType | stringEnum: [ DR ] | ||||||||||||||||||||||||
matchDuration | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
|
4.4 - Search results - Donors
A POST to the searches/searchResults/donors endpoint is used to retrieve search results with adult donors. Pagination is possible and optional filters can be provided. If only interested in recent changes to the search results, this can be achieved using a filter on "recordLastUpdatedFrom" field.
string
maxLength: 17
example
P1234XX
nullable: falseEnum:
Array [ 5 ]
hla
idm
{
}dateOfBirth*string($date)
nullable: true
maxLength: 10
example: 1961-05-27diagnosis*{...}diseasePhase*string
nullable: trueEnum:
Array [ 48 ]ethnicity*string
nullable: trueEnum:
Array [ 21 ]poolCountryCode*string
maxLength: 2
pattern: ^[A-Z]{2}
maxLength: 17
Post | ||
---|---|---|
searches/searchResults/donors | ||
example: 30 time in seconds that the search took to run on the matching engine | patient | patientId* |
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
|
|
Organisation unique identifier for patient. Cannot be set unless "legalTerms" is set to "true". Do not use real names here.
status*stringnullable: falseEnum:
Array [ 5 ]
|
Expand | |||
---|---|---|---|
| |||
|
|
|
|
nullable: true
maxLength: 10
example: 1961-05-27diagnosis*{...}diseasePhase*string
nullable: trueEnum:
Array [ 48 ]ethnicity*string
nullable: trueEnum:
Array [ 21 ]poolCountryCode*string
maxLength: 2
pattern: ^[A-Z]{2}
|
4.5 - Search results - CBUs
A POST to the searches/searchResults/cbus retrieveSearchResultsDonors endpoint is used to retrieve search results with cord blood units. Pagination is possible and optional filters can be provided. If only interested in recent changes to the search results, this can be achieved using a filter on "recordLastUpdatedFrom" field.
exampleNL
example: TC Xstring
nullable: true 4 rhesus*
ISO 3166-1 alpha-2 Country Code (capitalized)
transplantCentreId*maxLength10nullabletrueexample: TC Xstring
nullable: true 4 rhesus*
Post | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
searches/searchResults/cbus | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
abo* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string nullable: trueEnum: Array [ 2 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
weight* | integer nullable: true minimum: 1 maximum: 999 example: 76 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sex* | string nullable: trueEnum: Array [ 2 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
legalTerms* | boolean nullable: true default: false example: true If not set to true, then patientId will not be stored. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wmdaId* | integer example: 123456 nullable: false | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lastUpdated* | string($date-time) nullable: false maxLength: 255 needed to help determine when patient can be automatically moved to STP state | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lastViewed* | string($date-time) nullable: false maxLength: 255 needed for sorting patients in the patient list | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
assignedUserName* | string minLength: 4 maxLength: 100 nullable: true example: janethesearchcoordinator@lunarregistry.com typically the e-mail address of the user | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
registry | {...} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
donor |
|
4.5 - Search results - CBUs
The retrieveSearchResultsDonors endpoint is used to retrieve search results for cord blood units. Pagination is possible and optional filters can be provided.
...
Request
Expand | ||
---|---|---|
| ||
|
pagination | {
} | ||||||||||||||||||||||||||||||||||
searchId* | integer nullable: false minimum: 1 | ||||||||||||||||||||||||||||||||||
filters | {
} | ||||||||||||||||||||||||||||||||||
sortBy | string nullable: true default: standardEnum: [ standard, sumOfProbabilities ] | ||||||||||||||||||||||||||||||||||
threeFourMismatchSortBy | string nullable: true default: resolutionScoreEnum: [ none, resolutionScore, standard (not yet available) ] | ||||||||||||||||||||||||||||||||||
secondarySortBy | string nullable: true default: tncCountEnum: [ tncCount, cd34Count ] |
Response
Expand | ||
---|---|---|
| ||
|
paging* |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
searchResults* | [
|
4.6 - Full report - CBUs
The retrieveFullReportCBUs endpoint is used to retrieve all available information for a specific CBU in a search result.
...
Request
Expand | ||
---|---|---|
| ||
|
...
integer
Unique identifier of the search. Can be determined by retrieving patient search summary
|
4.6 - Mark selected donor
A POST to the searches/selected/donors endpoint is used to select a donor. This endpoint can be used to highlight a donor of interest.
Post | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
searches/selected/donors | ||||||||||||||||||
|
4.7 - Mark selected CBU
A POST to the searches/selected/cbus endpoint is used to select a donor. This endpoint can be used to highlight a CBU of interest.
Post | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
searches/selected/cbus | ||||||||||||||||||||
|
4.8 - Get list of registries that appear in search results
A GET to the searches/{searchId}/searchResults/registries endpoint is used to retrieve an overview off all the registries that appear in the search results of a specific donor search.
Get | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
searches/{searchId}/searchResults/registries | ||||||||||||||||||
|
4.9 - Get list of cord blood banks that appear in search results
A GET to the searches/{searchId}/searchResults/cbbs endpoint is used to retrieve an overview off all the registries that appear in the search results of a specific donor search.
Get | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
searches/{searchId}/searchResults/cbbs | ||||||||||||||||||
|
4.10 - Full report - Donors
A GET to the searches/donors/{searchResultsId} endpoint retrieves all available information of a specific donor in a search result.
Get | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
searches/donors/{searchResultsId} | ||||||||||||||||||||||||||||
|
4.11 - Full report - CBUs
A GET to the searches/cbus/{searchResultsId} endpoint retrieves all available information of a specific CBU in a search result.
Get | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
searches/cbus/{searchResultsId} | ||||||||||||||||||||||||||||
|
4.12 - Refresh all searches for a patient
A POST to the searches/refreshAllPatientSearches endpoint is used to restart all searches for this patient and retrieve the new results.
Post | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
4.13 - Restart a single search
A POST to the searches/searchResultsRefresh endpoint is used to restart all searches for this patient and retrieve the new results.
Post | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
4.14 - Suggested use of API endpoints
Below is a diagram indicating the suggested use of some of the API endpoints. More API endpoints are available and the API implementer may choose to implement the endpoints in another order.
PlantUML Macro | ||
---|---|---|
| ||
@startuml
<style>
diamond {
BackgroundColor #ccf
}
</style>
#palegreen:repeat:request token from 'https://login.microsoftonline.com/{tenantId}/oauth2/token';
repeat while (Valid bearer token from the Patient and Search API?) is (no)
->yes;
#palegreen:create patient: POST /patients;
#lightblue:HTTP201 created: Response body contains 'wmdaId' for this patient;
#palegreen:Start search for patient using wmdaId POST to /searches;
#lightblue:repeat:HTTP201 created: Response body contains 'searchId' for this patient;
#palegreen:repeat:Check search status: GET to /searches/{wmdaId};
backward: running;
repeat while (What is the 'status' in the response body?)
:completed;
split
#gold:Donor;
#AntiqueWhite:Retrieve search results: POST to /searches/searchResults/donors;
#pink:Pick one or more donors;
#AntiqueWhite:Use 'id' field for that donor to perform GET to
/searches/donors/{searchResultsId} to get full report for this donor;
split again
#gold:CBU;
#AntiqueWhite:Retrieve search results: POST to /searches/searchResults/cbus;
#pink:Pick one or more CBUs;
#AntiqueWhite:Use 'id' field for that donor to perform GET to
/searches/cbus/{searchResultsId} to get full report for this CBU;
split again
#gold:ADCU;
#AntiqueWhite:Retrieve search results: POST to /searches/searchResults/adcus;
#pink:Pick one or more ADCUs;
#AntiqueWhite:Use 'id' field for that donor to perform GET to
/searches/adcus/{searchResultsId} to get full report for this ADCU;
endsplit
split
#palegreen:Refresh all searches for a patient: POST to /searches/refreshAllPatientSearches;
split again
#palegreen:Refresh single search: POST to /searches/searchResultsRefresh;
@enduml
|
Response
Expand | ||
---|---|---|
| ||
|
searchId | integer nullable: false minimum: 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
searchType | string Enum: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
matchDuration | integer minimum: 0 nullable: true example: 30 time in seconds that the search took to run on the matching engine | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
patient |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cbu |
|
4.7 - Suggested use of API endpoints
Below is a diagram indicated the suggested use of some of the API endpoints. More API endpoints are available and the API implementer may choose to implement the endpoints in another order.
...