icgc-argo / roadmap

Place to review/request new features and new tools on ICGC-ARGO's roadmap
1 stars 0 forks source link

🐛 Disable the cross interval fields validation when there's exception on `survival_time`. #1186

Open lindaxiang opened 1 month ago

lindaxiang commented 1 month ago

Describe the bug

There're programs (MONSTAR and P1000) requesting program level exceptions on field: Donor/survival_time. Since this field is the clinical endpoint in ARGO. It is used to validate all time interval related fields for other clinical events (ie. Follow up, Treatment, Specimen acquisition etc) if a patient is deceased.

However, if the program has requested exception on Donor/survival_time, we currently still enable the cross fields validations between the following interval fields and survival_time and will issue validation errors.

Steps To Reproduce

Context:

Steps to reproduce the behaviour:

  1. Go to 'https://platform-ui.argo-qa.cumulus.genomeinformatics.org/' and login
  2. Click on 'MONSTAR-JP' and tab 'Submit Clinical Data'
  3. Click on 'UPLOAD FILES'
  4. Submit either one or all of the following test files
  1. Click on 'VALIDATE SUBMISSION'
  2. See specific errors
    • specimen: [specimen_acquisition_interval] requires [donor.survival_time] in order to complete validation. Please upload data for all fields in this clinical data submission.
    • treatment: [treatment_start_interval] requires [donor.survival_time] in order to complete validation. Please upload data for all fields in this clinical data submission.
    • follow_up: [interval_of_followup] requires [donor.survival_time] in order to complete validation. Please upload data for all fields in this clinical data submission.

Expected behaviour

If the program has requested exceptions on Donor/survival_time, we need to disable the cross validation between interval fields and survival_time.

joneubank commented 1 week ago

I am proposing a change to the expected behaviour detailed in the ticket. Instead of having our cross file validations check for the survival_time exception, we should just check if there is a survival_time value. If there is no value, then we don't apply the checks (they would always fail). If there is no value and also no exception, then the validation would fail in the donor entity validation, so we don't need to worry about that in the time interval cross validations.

edsu7 commented 5 days ago

QA check

result summary:

result details: