Anthony-Nolan / Atlas

A free & open-source Donor Search Algorithm Service
GNU General Public License v3.0
9 stars 5 forks source link

Enforce donor orientated scoring by calculating positional scores in one place #1014

Closed zabeen closed 8 months ago

zabeen commented 1 year ago

Currently grades. confidence and antigen-match are calculated within their own services, each service calling its own calculator to do the actual scoring. The caller services are responsible for determining the best score for each score type based on the best grade orientation(s).

This means three places had to be updated when we changed from patient-orientated to donor-orientated scoring (#1012). And the implementation of direct vs cross scoring is different in all 3 services, which is a pain to read and maintain.

Suggest creating one new service: LocusPositionScorer which calls each of the existing calculators, and handles direct vs cross logic just once!

zabeen commented 9 months ago

testing notes