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 |
---|
startSearchsearches |
Expand |
---|
| Field | Details |
---|
wmdaId* | integer example: 123456 nullable: false | matchEngine* | integer nullable: falseUnique identifier of match engine used in the search. Allowed: 2 (HAP-E), 3 (ATLAS). Enum: Array [ 2 ] | searchType* | string example: DREnum: Array [ 2 ] | overallMismatches | integer default: 0Enum: Array [ 8 ] | lociToBeConsidered | [...] | isCbuAbLowDrb1HighResolution | boolean default: false nullable: true |
|
Response Expand |
---|
| Field | Details |
---|
searchId | integer nullable: false minimum: 1 |
|
|
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.
Request
Response
{...}nullable: which Get |
---|
searches/{searchId} |
|
Send |
---|
retrieveSearchResultssummary |
searchId* | integer |
patient |
|
Unique identifier of the search. Can be determined by retrieving the patient search summary |
|
Expand |
---|
| Field | Details |
---|
patient | {...} | searchId* | integer nullable: false minimum: 1 | searchType* | stringEnum: Array [ 1 ] | matchEngine* | integer nullable: falseUnique identifier of match engine used in the search. Allowed: 2 (HAP-E), 3 (ATLAS). Enum: Array [ 2 ] | overallMismatches* | integer default: 0Enum: Array [ 8 ] | status* | string nullable: falseEnum: Array [ 3 ] | summary* | {...} | inexplicable* | integer nullable: trueTotal number of donors |
|
|
whose phenotype cannot be explained by known haplotype | statistics* | {...} | error* | {...} nullable: true | lociToBeConsidered | [...] | lastUpdated | string($date-time) nullable: false maxLength: 255needed to help determine when the patient can be automatically moved to STP state |
|
|
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.
...
Request
pagination | {...} |
searchId* | integer nullable: false minimum: 1 |
filters | {...} |
sortBy | string nullable: true default: standardEnum: Array [ 2 ] |
Response
paging* | limit* | integer default: 100 minimum: 0 | offset* | integer default: 0 minimum: 0 example: 0 | totalCount* | integer minimum: 0 example: 2 |
|
searchResults* | [ minItems: 0 id* | integer nullable: false example: 5176 | donorRegistryIon* | integer nullable: false minimum: 1000 maximum: 9999 example: 1234 | abbreviation* | string example: NL-WMDA maxLength: 24 | haplotypeFrequencySetId* | integer nullable: true minimum: 0 example: 15 | status* | string nullable: falseEnum: [ AV, TU, RS ] | sex* | string nullable: trueEnum: [ M, F ] | ethnicity* | string nullable: trueEnum: [ UK, AF, AS, CA, HI, AFNA, AFSS, ASSW, ASSO, ASCE, ASSE, ASNE, ASOC, CAEU, CAER, CANA, CAAU, HICA, HISA, MX, OT ] | idm* | antiCmvStatus | string nullable: trueEnum: Array [ 7 ] | antiCmvDate | string($date) nullable: true maxLength: 10date of CMV NAT test | cmvNatStatus | string nullable: trueEnum: Array [ 2 ] | cmvNatDate | string($date) nullable: true maxLength: 10date of CMV NAT test |
| abo* | string nullable: trueEnum: [ A, B, O, AB ] | rhesus* | string nullable: trueEnum: [ P, N ] | registryAccreditationStatus* | string nullable: trueEnum: [ accredited, qualified ] | firstAccreditationYear* | number minimum: 1990 maximum: 2100 nullable: true example: 2019 | matchClass* | string example: 9/10 nullable: false | nmdpGrade* | string maxLength: 5 example: MPPMP nullable: trueA - high-res match on ARD, P - probable match, M - sure Mismatch | zeroMismatchProbability* | integer minimum: 0 maximum: 100 nullable: true | oneMismatchProbability* | integer nullable: true minimum: 0 maximum: 100 | twoMismatchProbability* | integer nullable: true minimum: 0 maximum: 100 | aLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | bLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | cLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | drLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | dqLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | inexplicable* | boolean | matchingInformationDpb1* | dpb1MatchGrade* | string nullable: trueEnum: [ P, A, G, H, X ] | tceDigest* | permissiveProbability* | integer nullable: true minimum: 0 maximum: 100Probability of permissive MM. Probabilities calculated with allele frequencies for DPB1, no linkage disequilibrium taken into account | nonPermissiveHostVsGraftProbability* | integer nullable: true minimum: 0 maximum: 100Probability for non-permissive MM in HvG direction. Probabilities calculated with allele frequencies for DPB1, no linkage disequilibrium taken into account | nonPermissiveGraftVsHostProbability* | integer nullable: true minimum: 0 maximum: 100Probability for Nnon-permissive MM in GvH direction. Probabilities calculated with allele frequencies for DPB1, no linkage disequilibrium taken into account | notDeterminedProbability* | integer nullable: true minimum: 0 maximum: 100Probability for Not Determinable permissiveness. Probabilities calculated with allele frequencies for DPB1, no linkage disequilibrium taken into account |
|
| mismatches* | locus* | string nullable: truelocus where the mismatch is Enum: [ A, B, C, DRB1, DQB1, DPB1, DPA1, DQA1, DRB2, DRB3, DRB4, DRB5 ] | position* | integer nullable: trueposition of the mismatch (chromosome 1 or 2) Enum: [ 1, 2 ] | type* | string nullable: truetype of mismatch Enum: [ ANTIGEN, ALLELE ] |
| searchResultRecordState* | string nullable: false default: ExistingEnum: [ Existing, New, Updated, Deleted ] | searchResultRecordStateUpdatedAt* | string($date-time) nullable: true maxLength: 255date and time when the last change was registered in the system | isSelected* | boolean nullable: truetrue when this record has been marked as a selected | resolutionScore* | number minimum: 0 maximum: 100 nullable: true example: 54 | resolutionString* | string minLength: 5 maxLength: 5 example: AP-A- nullable: trueA - high-res P - low or intermediate, - no typing | grid* | string nullable: true maxLength: 19 minLength: 19 example: 9991012070433202000 | donorId* | string nullable: true example: ABC1234 maxLength: 25 | donorType* | string nullable: falseEnum: [ D, B ] | lastContactDate* | string($date) nullable: true minLength: 10 maxLength: 10 | marrowDonationsCount* | integer nullable: true example: 0 | pbscDonationsCount* | integer nullable: true example: 1 | dateOfBirth* | string($date) nullable: true maxLength: 10 example: 1961-05-27 | hla* | a* | field1* | string maxLength: 20 example: 01:01 | field2* | string nullable: true maxLength: 20 example: 02:01 |
| b* | field1* | string maxLength: 20 example: 01:01 | field2* | string nullable: true maxLength: 20 example: 02:01 |
| c* | field1* | string maxLength: 20 example: 01:01 | field2* | string nullable: true maxLength: 20 example: 02:01 |
| dpa1* | field1* | string maxLength: 20 example: 01:01 | field2* | string nullable: true maxLength: 20 example: 02:01 |
| dpb1* | field1* | string maxLength: 20 example: 01:01 | field2* | string nullable: true maxLength: 20 example: 02:01 |
| dqa1* | field1* | string maxLength: 20 example: 01:01 | field2* | string nullable: true maxLength: 20 example: 02:01 |
| dqb1* | field1* | string maxLength: 20 example: 01:01 | field2* | string nullable: true maxLength: 20 example: 02:01 |
| drb1* | field1* | string maxLength: 20 example: 01:01 | field2* | string nullable: true maxLength: 20 example: 02:01 |
| drb3* | field1* | string maxLength: 20 example: 01:01 | field2* | string nullable: true maxLength: 20 example: 02:01 |
| drb4* | field1* | string maxLength: 20 example: 01:01 | field2* | string nullable: true maxLength: 20 example: 02:01 |
| drb5* | field1* | string maxLength: 20 example: 01:01 | field2* | string nullable: true maxLength: 20 example: 02:01 |
|
|
}] |
4.4 - Full report - Donors
The retrieveFullReportDonors endpoint is used to retrieve all available information for a specific donor in a search result.
...
Request
...
Response
searchId | integer nullable: false minimum: 1 |
searchType | stringEnum: [ DR ] |
matchDuration | integer minimum: 0 nullable: true example: 30time in seconds that the search took to run on the matching engine |
patient | patientId* | string maxLength: 17 nullable: true example: P1234XXOrganisation unique identifier for patient. Cannot be set unless "legalTerms" is set to "true". Do not use real names here. | status* | string nullable: falseEnum: Array [ 5 ] | hla* | {...} | idm* | {...} | dateOfBirth* | string($date) nullable: true maxLength: 10 example: 1961-05-27 | diagnosis* | {...} | diseasePhase* | string nullable: trueEnum: Array [ 48 ] | ethnicity* | string nullable: trueEnum: 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: trueEnum: Array [ 4 ] | rhesus* | 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: 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 | registry | {...} |
|
donor | id* | integer nullable: false example: 5176 | donorRegistryIon* | integer nullable: false minimum: 1000 maximum: 9999 example: 1234 | abbreviation | string example: NL-WMDA maxLength: 24 | haplotypeFrequencySetId* | integer nullable: true minimum: 0 example: 15 | status* | string nullable: falseEnum: Array [ 3 ] | sex* | string nullable: trueEnum: Array [ 2 ] | ethnicity* | string nullable: trueEnum: Array [ 21 ] | idm* | {...} | abo* | string nullable: trueEnum: Array [ 4 ] | rhesus* | string nullable: trueEnum: Array [ 2 ] | registryAccreditationStatus* | string nullable: trueEnum: Array [ 2 ] | firstAccreditationYear* | number minimum: 1990 maximum: 2100 nullable: true example: 2019 | matchClass* | string example: 9/10 nullable: false | nmdpGrade* | string maxLength: 5 example: MPPMP nullable: trueA - high-res match on ARD, P - probable match, M - sure Mismatch | zeroMismatchProbability* | integer minimum: 0 maximum: 100 nullable: true | oneMismatchProbability* | integer nullable: true minimum: 0 maximum: 100 | twoMismatchProbability* | integer nullable: true minimum: 0 maximum: 100 | aLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | bLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | cLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | drLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | dqLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | inexplicable* | boolean | matchingInformationDpb1* | {...} | mismatches* | [...] | searchResultRecordState* | string nullable: false default: ExistingEnum: Array [ 4 ] | searchResultRecordStateUpdatedAt* | string($date-time) nullable: true maxLength: 255date and time when the last change was registered in the system | isSelected* | boolean nullable: truetrue when this record has been marked as a selected | resolutionScore* | number minimum: 0 maximum: 100 nullable: true example: 54 | resolutionString* | string minLength: 5 maxLength: 5 example: AP-A- nullable: trueA - high-res P - low or intermediate, - no typing | grid* | string nullable: true maxLength: 19 minLength: 19 example: 9991012070433202000 | donorId* | string nullable: true example: ABC1234 maxLength: 25 | donorType* | string nullable: falseEnum: Array [ 2 ] | lastContactDate* | string($date) nullable: true minLength: 10 maxLength: 10 | marrowDonationsCount* | integer nullable: true example: 0 | pbscDonationsCount* | integer nullable: true example: 1 | dateOfBirth* | string($date) nullable: true maxLength: 10 example: 1961-05-27 | donorAttribute | string maxLength: 3 nullable: true | kir | {...} | weight | integer nullable: true minimum: 1 maximum: 999 example: 76 | height | integer nullable: true minimum: 1 maximum: 999 example: 161 | collectionType | string nullable: trueCollection type, i.e. the willingness of the donor to donate in a specific manner. M = Marrow P = PBSC B = Both PBSC & Marrow Enum: Array [ 3 ] | transfusionsCount | integer nullable: true example: 1 | pregnanciesCount | integer nullable: true example: 2 | reservedPatientId | string nullable: true example: 1234222ss | statusEndDate | string($date) maxLength: 10 nullable: true | statusReason | string nullable: trueDO = Donor is too old, DD = Donor died, MR = Medical reasons, PR = Personal reasons, TX = After transplantation, MO = Donor has moved, UC = Unable to contact donor, OT = Other reasons, TQ = Typing questionable, UK = Unknown Enum: Array [ 10 ] | hla* | {...} | mic* | {...} | ccr5* | string nullable: trueEnum: Array [ 3 ] | lastMedicalCheckupDate | string($date) nullable: true minLength: 10 maxLength: 10 | registry* | {...} |
|
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
pagination | { offset | integer($int32) default: 0 | limit | integer($int32) default: 100Maximum number of records per page. |
} |
searchId* | integer nullable: false minimum: 1 |
filters | { description: | The search parameters used for finding search results. | mismatchLocusAllowed | [...] | dpb1MatchGrade | [...] | donorRegistryIon | [...] | registryAccreditationStatus | [...] | sex | [...] | cmvStatus | [...] | abo | [...] | isSelected | boolean nullable: true default: null example: falseFilter for only returning donors/CBUs marked as selected | onlyRecordsWithDrb1 | boolean nullable: true default: false example: falseDo no use - Obsolete. Filter for whether or not to return donors without DRB1 typing. Replaced by requiredTypedLoci | requiredTypedLoci | [...] | inexplicable | string nullable: true default: null example: OnlyInexplicableFilter for only returning donors/CBUs marked as selected Enum: Array [ 4 ] | status | [...] | allowedMismatchedAlleles | {...} | minimumTncCount | number example: 1140000000 nullable: true | minimumCd34Count | number example: 3900000 nullable: true | cbbAccreditationStatus | [...] |
} |
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
paging* | limit* | integer default: 100 minimum: 0 | offset* | integer default: 0 minimum: 0 | totalCount* | integer minimum: 0 |
|
searchResults* | [ minItems: 0 id* | integer nullable: false example: 5176 | donorRegistryIon* | integer nullable: false minimum: 1000 maximum: 9999 example: 1234 | abbreviation* | string example: NL-WMDA maxLength: 24 | haplotypeFrequencySetId* | integer nullable: true minimum: 0 example: 15 | status* | string nullable: falseEnum: Array [ 3 ] | sex* | string nullable: trueEnum: Array [ 2 ] | ethnicity* | string nullable: trueEnum: Array [ 21 ] | idm* | {...} | abo* | string nullable: trueEnum: Array [ 4 ] | rhesus* | string nullable: trueEnum: Array [ 2 ] | registryAccreditationStatus* | string nullable: trueEnum: Array [ 2 ] | firstAccreditationYear* | number minimum: 1990 maximum: 2100 nullable: true example: 2019 | matchClass* | string example: 9/10 nullable: false | nmdpGrade* | string maxLength: 5 example: MPPMP nullable: trueA - high-res match on ARD, P - probable match, M - sure Mismatch | zeroMismatchProbability* | integer minimum: 0 maximum: 100 nullable: true | oneMismatchProbability* | integer nullable: true minimum: 0 maximum: 100 | twoMismatchProbability* | integer nullable: true minimum: 0 maximum: 100 | aLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | bLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | cLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | drLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | dqLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | inexplicable* | boolean | matchingInformationDpb1* | {...} | mismatches* | [...] | searchResultRecordState* | string nullable: false default: ExistingEnum: Array [ 4 ] | searchResultRecordStateUpdatedAt* | string($date-time) nullable: true maxLength: 255date and time when the last change was registered in the system | isSelected* | boolean nullable: truetrue when this record has been marked as a selected | resolutionScore* | number minimum: 0 maximum: 100 nullable: true example: 54 | resolutionString* | string minLength: 5 maxLength: 5 example: AP-A- nullable: trueA - high-res P - low or intermediate, - no typing | cordId* | string nullable: true maxLength: 25 example: 9991012070433202000 | donorType* | stringEnum: Array [ 1 ] | collectionDate* | string($date) minLength: 10 maxLength: 10 nullable: true example: 2021-05-27 | volume* | integer example: 25 nullable: true | tncCount* | number example: 1140000000 nullable: true | cd34Count* | number example: 3900000 nullable: true | viability* | integer minimum: 0 maximum: 100 example: 97 nullable: true | attachedSegmentsCount* | integer nullable: true minimum: 0 maximum: 99 example: 2 | bankManufacturerIdWmda* | integer example: 5432 nullable: true | cbbAccreditationStatus* | string nullable: trueEnum: Array [ 3 ] | hla* | {...} |
|
an overview off all searches that have been performed for a specific patient.
Get |
---|
searches/patientSearches/{wmdaId} |
Expand |
---|
| Field | Details |
---|
wmdaId* | integer wmdaId of patient you want to find search information for. This is NOT the patientId, but the wmdaId you received in the response body after creating your patient. |
|
Expand |
---|
| Field | Details |
---|
searchId* | integer nullable: false minimum: 1 | matchEngine* | integer nullable: falseUnique identifier of match engine used in the search. Allowed: 2 (HAP-E), 3 (ATLAS). Enum: Array [ 2 ] | searchType* | stringEnum: Array [ 1 ] | overallMismatches* | integer default: 0Enum: Array [ 8 ] | status* | string nullable: falseEnum: Array [ 3 ] | summary* | {...} | lociToBeConsidered* | [...] | lastUpdated* | string($date-time) nullable: false maxLength: 255needed to help determine when the patient can be automatically moved to STP state | inexplicable | integer nullable: trueTotal number of donors whose phenotype cannot be explained by known haplotype | statistics | {...} | error | {...} nullable: true |
|
|
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.
Post |
---|
searches/searchResults/donors |
Expand |
---|
| Field | Details |
---|
pagination | {...} | searchId* | integer nullable: false minimum: 1 | filters | {...} | sortBy | string nullable: true default: standard Enum: Array [ 2 ] |
|
Expand |
---|
| Field | Details |
---|
paging* | {...} | searchResults* | [...] |
|
|
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.
Post |
---|
searches/searchResults/cbus |
Expand |
---|
| Field | Details |
---|
pagination | {...} | searchId* | integer nullable: false minimum: 1 | filters | {...} | sortBy | string nullable: true default: standardEnum: Array [ 2 ] | threeFourMismatchSortBy | string nullable: true default: resolutionScoreEnum: Array [ 3 ] | secondarySortBy | string nullable: true default: tncCountEnum: Array [ 2 ] |
|
Expand |
---|
| Field | Details |
---|
paging* | {...} | searchResults* | [...] |
|
|
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 |
Expand |
---|
| Field | Details |
---|
wmdaId | integer wmdaId of patient you want to find search information for. This is NOT the patientId, but the wmdaId you received in the response body after creating your patient. | grid | string nullable: true maxLength: 19 minLength: 19 example: 9991012070433202000 | setAsSelected | boolean nullable: false
set (true) or unset (false) the indicated grid or cordId as a selected stem cell source for this patient |
|
|
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 |
Expand |
---|
| Field | Details |
---|
wmdaId | integer wmdaId of patient you want to find search information for. This is NOT the patientId, but the wmdaId you received in the response body after creating your patient. | cordId | string nullable: true maxLength: 25 example: 9991012070433202000 cordId of the CBU. | donorRegistryIon | integer nullable: false minimum: 1000 maximum: 9999 example: 1234 | setAsSelected | boolean nullable: false
set (true) or unset (false) the indicated grid or cordId as a selected stem cell source for this patient |
|
|
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 |
Expand |
---|
| Field | Details |
---|
searchId* | integer Unique identifier of the search. Can be determined by retrieving the patient search summary |
|
Expand |
---|
| Field | Details |
---|
registries* | {...} Array of unique registry IONs with their abbreviation and name |
|
|
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 |
Expand |
---|
| Field | Details |
---|
searchId* | integer Unique identifier of the search. Can be determined by retrieving the patient search summary |
|
Expand |
---|
| Field | Details |
---|
cbbs* | {...} Array of unique cbbs bank manufacterer IDs with their abbreviation and name |
|
|
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} |
Expand |
---|
| Field | Details |
---|
searchResultsId* | integer Unique identifier of the donor within a search result. This is the "id" field within searchResult |
|
Expand |
---|
| Field | Details |
---|
searchId | integer nullable: false minimum: 1 | searchType | string Enum: Array [ 1 ] | matchDuration | integer minimum: 0 nullable: true example: 30time in seconds that the search took to run on the matching engine | patient | {...} | search | {...} | donor | {...} |
|
|
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} |
Expand |
---|
| Field | Details |
---|
searchResultsId* | integer Unique identifier of the search. Can be determined by retrieving the patient search summary |
|
Expand |
---|
| Field | Details |
---|
searchId | integer nullable: false minimum: 1 | searchType | stringEnum: Array [ 1 ] | matchDuration | integer minimum: 0 nullable: true example: 30time in seconds that the search took to run on the matching engine | search | {...} | patient | {...} | cbu | {...} |
|
|
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.
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 |
---|
searches/searchResultsRefresh |
Expand |
---|
| Field | Details |
---|
searchId* | integer example: 123456 nullable: false |
|
Expand |
---|
| Field | Details |
---|
newSearchId | integer example: 123457 nullable: false |
|
|
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 |
---|
title | Suggested use of API endpoints |
---|
|
@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
|
4.6 - Full report - CBUs
The retrieveFullReportCBUs endpoint is used to retrieve all available information for a specific CBU in a search result.
...
Request
...
integer
Unique identifier of the search. Can be determined by retrieving patient search summary
Response
searchId | integer nullable: false minimum: 1 |
searchType | string Enum: [ CB ] |
matchDuration | integer minimum: 0 nullable: true example: 30time in seconds that the search took to run on the matching engine |
patient | patientId* | string maxLength: 17 nullable: true example: P1234XXOrganisation unique identifier for patient. Cannot be set unless "legalTerms" is set to "true". Do not use real names here. | status* | string nullable: falseEnum: Array [ 5 ] | hla* | {...} | idm* | {...} | dateOfBirth* | string($date) nullable: true maxLength: 10 example: 1961-05-27 | diagnosis* | {...} | diseasePhase* | string nullable: trueEnum: Array [ 48 ] | ethnicity* | string nullable: trueEnum: 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: trueEnum: Array [ 4 ] | rhesus* | 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: 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 | registry | {...} |
|
cbu | id* | integer nullable: false example: 5176 | donorRegistryIon* | integer nullable: false minimum: 1000 maximum: 9999 example: 1234 | abbreviation | string example: NL-WMDA maxLength: 24 | haplotypeFrequencySetId* | integer nullable: true minimum: 0 example: 15 | status* | string nullable: falseEnum: Array [ 3 ] | sex* | string nullable: trueEnum: Array [ 2 ] | ethnicity* | string nullable: trueEnum: Array [ 21 ] | idm* | {...} | abo* | string nullable: trueEnum: Array [ 4 ] | rhesus* | string nullable: trueEnum: Array [ 2 ] | registryAccreditationStatus* | string nullable: trueEnum: Array [ 2 ] | firstAccreditationYear* | number minimum: 1990 maximum: 2100 nullable: true example: 2019 | matchClass* | string example: 9/10 nullable: false | nmdpGrade* | string maxLength: 5 example: MPPMP nullable: trueA - high-res match on ARD, P - probable match, M - sure Mismatch | zeroMismatchProbability* | integer minimum: 0 maximum: 100 nullable: true | oneMismatchProbability* | integer nullable: true minimum: 0 maximum: 100 | twoMismatchProbability* | integer nullable: true minimum: 0 maximum: 100 | aLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | bLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | cLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | drLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | dqLocusMatchProbability* | integer nullable: true minimum: 0 maximum: 100 | inexplicable* | boolean | matchingInformationDpb1* | {...} | mismatches* | [...] | searchResultRecordState* | string nullable: false default: ExistingEnum: Array [ 4 ] | searchResultRecordStateUpdatedAt* | string($date-time) nullable: true maxLength: 255date and time when the last change was registered in the system | isSelected* | boolean nullable: truetrue when this record has been marked as a selected | resolutionScore* | number minimum: 0 maximum: 100 nullable: true example: 54 | resolutionString* | string minLength: 5 maxLength: 5 example: AP-A- nullable: trueA - high-res P - low or intermediate, - no typing | cordId | string nullable: true maxLength: 25 example: 9991012070433202000 | donorType* | string nullable: falseEnum: Array [ 2 ] | collectionDate | string($date) minLength: 10 maxLength: 10 nullable: true example: 2021-05-27 | volume* | integer example: 25 nullable: true | tncCount* | number example: 1140000000 nullable: true | cd34Count* | number example: 3900000 nullable: true | viability* | integer minimum: 0 maximum: 100 example: 97 nullable: true | attachedSegmentsCount | integer nullable: true minimum: 0 maximum: 99 example: 2 | bankManufacturerIdWmda* | integer example: 5432 nullable: true | cbbAccreditationStatus* | string nullable: trueEnum: Array [ 3 ] | localId | string example: 12345ABC nullable: true | bagId | string example: ABCDE1234 nullable: true | dateOfBirth* | string($date) nullable: true maxLength: 10 example: 1961-05-27 | processingDate | string($date) nullable: true minLength: 10 maxLength: 10 | processingMethod | string nullable: trueHES = Hydroxy-Ethyl-Starch, DGS = Density Gradient Separation, CEN = Centrifuge, FIL = Filtration, FIC = FICOL, PER = PERCOL, OTH = Other Enum: Array [ 7 ] | processingMethodType | string nullable: trueEnum: Array [ 5 ] | freezeDate | string($date) nullable: true | freezeMethod | string nullable: trueEnum: Array [ 2 ] | reservedPatientId | string nullable: true example: 1234222ss | productModifications | string nullable: trueEnum: Array [ 7 ] | bagType | string nullable: trueEnum: Array [ 4 ] | bagsCount | integer minimum: 1 maximum: 99 example: 2 nullable: true | bankDistributionIdWmda | integer nullable: true example: 1234 | bacterialCultureResults | string nullable: trueP = Positive N = Negative D = Not done Enum: Array [ 3 ] | fungalCultureResults | string nullable: trueP = Positive N = Negative D = Not done Enum: Array [ 3 ] | hemoglobinopathyScreeningStatus | string nullable: trueDN = "Screening done, normal results" DU = "Screening done, unusual findings" NS = "No screening done" CD = "Can be done at time of release" NC = "Cannot be done" DT = "Thalassemia" DD = "Drepanocytosis" Enum: Array [ 7 ] | viabilityCellType | string nullable: truetype of cell tested for viability Enum: Array [ 3 ] | viabilityMethod | string nullable: true7A = 7AAD PI = Propidium Iodide TB = Trypan Blue OT = Other Enum: Array [ 4 ] | viabilityDate | string($date) nullable: true | volumeFrozen* | integer example: 25 nullable: true | tncFrozenCount* | number example: 1020000000 nullable: true | cd34FrozenCount* | number example: 3700000 nullable: true | cfuFrozenCount | integer nullable: true minimum: 10000 maximum: 99990000Total count of colony forming units (post processing, prior to cryopreservation) | mncFrozenCount* | number example: 430000000 nullable: true | ccr5 | string nullable: trueEnum: Array [ 3 ] | kir | {...} | plasmaAliquotsCount | integer minimum: 0 maximum: 99 nullable: trueNumber of plasma aliquots available | redCellAliquotsCount | integer minimum: 0 maximum: 99 nullable: trueNumber of red cell fraction aliquots | nucleatedRbcFrozenCount | integer minimum: 0 maximum: 9999000000 nullable: trueTotal number of nucleated red blood cells (post processing, prior to cryopreservation) | serumAliquotsCount | integer minimum: 0 maximum: 99 nullable: true | serumQuantity | number minimum: 0 maximum: 99.9 nullable: true | plasmaQuantity | number minimum: 0 maximum: 99.9 nullable: true | ctCompletionDate | string($date) maxLength: 10 | ctSampleType | string nullable: true maxLength: 2AS = CBU Contiguous Attached Segment, WB = Whole Blood Sample, RC = Red Cell Fraction (pellet), FP = Blood Spotted Filter Paper, ED = Extracted DNA Enum: Array [ 5 ] | dnaSamplesAvailable | boolean nullable: true | otherSamplesAvailable | boolean nullable: true | donorAttribute | string maxLength: 3 nullable: true | statusEndDate | string($date) maxLength: 10 nullable: true | statusReason | string nullable: trueDO = Donor is too old, DD = Donor died, MR = Medical reasons, PR = Personal reasons, TX = After transplantation, MO = Donor has moved, UC = Unable to contact donor, OT = Other reasons, TQ = Typing questionable, UK = Unknown Enum: Array [ 10 ] | hla* | {...} | mic | {...} | registry | {...} | cbb | {...} | maternalInfo | {...} |
|
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.
...