⚠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.
retrieveSearchResultssummaryResponse which
Get | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
searches/{searchId} | |||||||||||||||||||||||||
Send | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Expand | |||||||||||||||||||||||||
title | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
|
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.
retrieveSearchResultsDonorssearchIdnullable: false
minimum: 1stringtruedefaultstandardEnum:
Array [ 2 ]
minimum: 1stringtruedefaultstandardEnum:
Array [ 2 ]
Get | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
searches/patientSearches/{wmdaId} | |||||||||||
Send | |||||||||||
| |||||||||||
pagination | {...} | ||||||||||
| |||||||||||
| |||||||||||
filters | {...} | ||||||||||
sortBy | |||||||||||
| |||||||||||
| |||||||||||
| |||||||||||
|
Expand | ||||
---|---|---|---|---|
| ||||
|
4.4 - Full report - Donors
The retrieveFullReportDonors endpoint is used to retrieve all available information for a specific donor in a search result.
Response
{
patientdonor}integerfalseminimum: 1
| |||||||||||||||||||
Send | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
retrieveSearchResultsDonors | |||||||||||||||||||
Expand | |||||||||||||||||||
| |||||||||||||||||||
searchResultsId | integer | ||||||||||||||||||
Expand | |||||||||||||||||||
| |||||||||||||||||||
searchId | integer nullable: false minimum: 1 | ||||||||||||||||||
searchType | stringEnum: Array [ 1 ] | ||||||||||||||||||
matchDuration | integer minimum: 0 nullable: true example: 30 time in seconds that the search took to run on the matching engine | ||||||||||||||||||
| |||||||||||||||||||
| |||||||||||||||||||
| |||||||||||||||||||
| |||||||||||||||||||
|
4.
...
4 - Search results -
...
Donors
A POST to the searches/searchResults/donors The retrieveSearchResultsDonors endpoint is used to retrieve search results for cord blood unitswith 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.
integer($int32)
100
nullable: false
minimum: 1filters
description:
donorRegistryIon[...]registryAccreditationStatus[...]sex[...]cmvStatus[...]abo[...]isSelectedboolean
Post | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
searches/searchResults/donors | ||||||||||
| ||||||||||
Send | ||||||||||
retrieveSearchResultsCBUs | ||||||||||
Request
| ||||||||||
offset | integer($int32) default: 0 | |||||||||
limit |
|
|
Maximum number of records per page.
}
searchId*integernullable: false
minimum: 1filters
{
|
Expand | |||||
---|---|---|---|---|---|
| |||||
|
The search parameters used for finding search results.
mismatchLocusAllowed[...]dpb1MatchGrade
|
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.
booleannull
example: false
example: false
example: OnlyInexplicable
example: false
Filter for only returning donors/CBUs marked as selected
falseexample: false
Do no use - Obsolete. Filter for whether or not to return donors without DRB1 typing. Replaced by requiredTypedLoci
inexplicablenullexample: OnlyInexplicable
Filter for only returning donors/CBUs marked as selected
4 cbbAccreditationStatus}
secondarySortByPost | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
searches/searchResults/cbus | |||||||||||||||
| |||||||||||||||
onlyRecordsWithDrb1 | |||||||||||||||
| |||||||||||||||
| |||||||||||||||
requiredTypedLoci | [...] | ||||||||||||||
| |||||||||||||||
| |||||||||||||||
| |||||||||||||||
status | [...] | ||||||||||||||
allowedMismatchedAlleles | |||||||||||||||
| |||||||||||||||
minimumTncCount | number example: 1140000000 nullable: true | ||||||||||||||
minimumCd34Count | number example: 3900000 nullable: true | ||||||||||||||
| |||||||||||||||
sortBy | string nullable: true default: standardEnum: [ standard, sumOfProbabilities ] | ||||||||||||||
threeFourMismatchSortBy | string nullable: true default: resolutionScoreEnum: [ none, resolutionScore, standard (not yet available) ] |
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.
default: tncCountEnum:
[ tncCount, cd34Count ]
[ tncCount, cd34Count ]
Response
Post | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
searches/selected/donors | |||||||||||
| |||||||||||
|
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
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.
...
|
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
|