Skip to contents

The histoc assembles functions for histocompatibility testing in the context of kidney transplantation.

Package main functions allows to simulate kidney allocation systems for the distribution of deceased donors’ grafts.

Currently, it is possible to simulate allocation rules implemented in Portugal (PT model), in countries within EuroTransplant1 (ET model), in the United Kingdom2 (UK model), and a system previously suggested by Lima et al.3 (Lima’s model), using functions: pts(), et(), uk() and lima(), respectively.

Each one of these functions have as arguments a data frame with transplant candidates’ clinical and demographic characteristics, a data frame with candidates’ HLA antibodies and data for a potential donor.

For all the algorithms, a virtual crossmatch between the donor and transplant candidates is performed (xmatch()). And, only those candidates with a negative crossmatch and ABO compatible can opt to the donor’s kidney.

Results are presented as data.table objects due to its high computation performance.

PT model

pts()
#>     ID bg A1 A2 B1 B2 DR1 DR2 mmA mmB mmDR mmHLA age donor_age dialysis cPRA
#> 1: 112  O  2 29 44 44   4  12   1   1    1     3  58        65      104    0
#> 2: 487  O  2 33 15 27  11   7   1   1    2     4  55        65      103    0
#>       HI ptsPT SP ptsHLA ptsPRA ptsage ptsdial urgent
#> 1: FALSE  16.4  3      2      0      4    10.4      0
#> 2: FALSE  15.3  3      1      0      4    10.3      0

By default 2 candidates are selected for each donor, although we can define the number of candidates to be selected.

Portuguese rules on allocation of kidneys from deceased donor (PT model) are based on a scoring system that takes in consideration: HLA mismatches between donor and transplant candidate, level of immunization of the candidate, time on dialysis, and age difference between donor and transplant candidate. Total scores for donor-recipient pairs are given by the column ptsPT. Also, hipersensitized candidates (hiper()) (cPRA >85%, HI) are prioritized and after that all candidates are ordered by their corresponding score.

ET model

et()
#>     ID bg A1 A2 B1 B2 DR1 DR2 mmA mmB mmDR mmHLA age donor_age dialysis cPRA
#> 1: 442  A  3 25  7 15  13   4   2   1    1     4  68        65       98    0
#> 2: 344  A  1  3 35 49   1   4   1   2    0     3  70        65       69    0
#>       HI pointsET SP AM
#> 1: FALSE       98  1  0
#> 2: FALSE       69  1  0

A simplified version of EuroTransplant Kidney Allocation System (ETKAS)4 for first time kidney only candidates with more than 18 years old and not having donated one of their own kidneys can be simulated through et().

In this simulation for each donor, transplant candidates are sorted as :

  1. Senior Program (65+ years of old candidates when the donor has 65+ years) SP;
  2. Acceptable Mismatch Program (candidates with a cPRA >85% and without HLA antibodies against HLA’s donor) AM;
  3. 000 HLA mismatches (candidates without HLA mismatches with the donor) mmHLA;
  4. ETKAS points pointsET.

Final points for each eligible candidate are obtained from the sum of HLA points (et_mmHLA()), dialysis (et_dialysis()) points and MMP points (et_mmp()).

UK model

uk()
#>     ID bg A1 A2 B1 B2 DR1 DR2 matchability mmA mmB mmDR mmHLA age donor_age
#> 1: 324  O  1 11  8 35   3  13       1745.9   1   2    2     5  69        65
#> 2: 104  O  2  3  8 27   3   3       1745.9   1   2    2     5  45        65
#>    dialysis cPRA Tier pointsUK
#> 1:       81    0    A     9999
#> 2:       66    0    A     9999

United Kingdom (UK) deceased donor kidney allocation for transplantation is firstly based on the definition of two ranked Tiers of eligible candidates for a donor (Tier):

  1. Tier A – patients with match score = 10 or cPRA = 100% or time on dialysis >7 years;
  2. Tier B – all other eligible patients.

Within Tier A, transplant candidates are ordered by matchability and time on dialysis. Transplant candidates within Tier B are prioritized according to a point-based system computed with 7 elements:

  1. Matchability (matchability)
  2. Time on dialysis (dialysis)
  3. Donor-recipient risk index combinations (ric())
  4. HLA match and age combined (age and mmHLA)
  5. Donor-recipient age difference (age and donor_age)
  6. Total HLA mismatch (mmHLa)
  7. Blood group match (abo_uk())

This function simulates the allocation of kidneys to a candidates’ waiting list for kidney-only transplants and do not take in consideration any geographical criteria.

Lima’s model

lima()
#>     ID bg A1 A2 B1 B2 DR1 DR2 mmA mmB mmDR mmHLA age donor_age dialysis cPRA
#> 1: 112  O  2 29 44 44   4  12   1   1    1     3  58        60      104    0
#> 2: 487  O  2 33 15 27  11   7   1   1    2     4  55        60      103    0
#>       HI     cp SP urgent
#> 1: FALSE Orange  0      0
#> 2: FALSE Orange  0      0

Within this model, a color prioritization (cp()) of all waiting list transplant candidates is established.

Transplant candidates are classified according to their clinical urgency (red color), and regarding their time on dialysis and cPRA value cPRA. With an orange color are marked those patients with a cPRA >85% or with a time on dialysis higher than waiting time 3rd quartile. As yellow are classified the patients with a cPRA >50% or with a time on dialysis higher than waiting time median. And, as green are classified all the rest.

Within each color group candidates are ordered by mmHLA (ascendant) and time on dialisys (descendant).

Also, candidates are allocated to donors within the same age group (old to old program) (SP), mimicking EuroTransplant senior program (sp()).