Giter Site home page Giter Site logo

Comments (17)

kcullion avatar kcullion commented on August 12, 2024 1

thanks @hknahal I made a ticket and assigned it to you: #56

from argo-dictionary.

wajiha-oicr avatar wajiha-oicr commented on August 12, 2024 1

@wajiha-oicr ok that sounds good. so will you make them NOT required on upload, then when user hits "validate submission" the submitter will see if they are missing any because it's a tumour?

yes exactly

from argo-dictionary.

hknahal avatar hknahal commented on August 12, 2024 1

Yes, if the tumour_normal_designation is Normal, these fields should not be filled in at all (ie. it should throw an error). These fields should only be filled in if tumour_normal_designation is Tumour. This is because these fields are only relevant for tumour specimens (for example, you can only grade and stage tumour specimens)

from argo-dictionary.

kcullion avatar kcullion commented on August 12, 2024

@hknahal related to this ticket, do you need another ticket to change the "required" to "dependency" in the dictionary?
Screen Shot 2020-03-04 at 9 30 28 AM

from argo-dictionary.

hknahal avatar hknahal commented on August 12, 2024

@kcullion - sure, we can make a separate ticket for changing "required" to "dependency". This ticket is more about creating a script validation.

from argo-dictionary.

wajiha-oicr avatar wajiha-oicr commented on August 12, 2024

Ok so I just spoke with @blabadi. This is possible, but it would not be done within a script that runs upon upload. These fields sitting in specimen depend on data from another file sample_registration. This can be done upon the validate submission step, but not the upload file step.

from argo-dictionary.

kcullion avatar kcullion commented on August 12, 2024

@wajiha-oicr ok that sounds good. so will you make them NOT required on upload, then when user hits "validate submission" the submitter will see if they are missing any because it's a tumour?

from argo-dictionary.

wajiha-oicr avatar wajiha-oicr commented on August 12, 2024

I will have to remove the required flag on these fields so the user can continue with their upload, and then ensure the user included these fields ( if and only if the designation is set to tumour) from within the validate submission step
.

from argo-dictionary.

kcullion avatar kcullion commented on August 12, 2024

sounds great. Thanks @wajiha-oicr and @blabadi

from argo-dictionary.

wajiha-oicr avatar wajiha-oicr commented on August 12, 2024

@hknahal so just to be crystal clear, not only are these fields not required when the tumour designation is set to normal, but they shouldn't be filled in at all? I.e. throw an error if someone is providing values for these fields when the corresponding tumour designation is set to normal. Is the correct?

from argo-dictionary.

wajiha-oicr avatar wajiha-oicr commented on August 12, 2024

So I was testing my changes, and they work as intended upon the validate submission step. However, I came across an edge case that could potentially be very frustrating for a user:

  • User has registered a sample with a donor whose tumour normal designation set to 'Normal'.
  • User uploads a specimen.tsv file, filling in the details for that donor, and fills out a couple of the fields that they shouldn't be filling out. For example, they fill out the pathological_tumour_staging_system field and set it to AJCC 3rd Edition. They don't fill out pathological_T_category though.
  • They try to upload the file. A script tells them that when pathological_tumour_staging_system is set to an AJCC value, the pathological_T_cateogry is required to be filled in. This script has no knowledge that tumour normal designation was set to normal, so it is rejecting the empty value.
  • The user fills in the value, reuploads the file, and is able to move ahead
  • The user clicks on validate submission
  • The validation tells them that fields were wrongly filled in. It tells them that they were not allowed to fill in pathological_tumour_staging_system, or pathological_T_category.

The user is left confused wondering why they had to first FILL in a value only to be told they weren't allowed to fill in those values.

Since the script has no knowledge about the value of the tumour designation, it is behaving as intended. However I can see this being annoying to a user in these edge cases.

Not sure what can be done about this at the moment.

from argo-dictionary.

kcullion avatar kcullion commented on August 12, 2024

thanks @wajiha-oicr I see what you mean and it would be frustrating. I have a feeling the submitters would probably know what the specimen designation is (normal or tumour) when filling out the specimen file and probably would know to leave those tumour fields blank for the normals. @hknahal what do you think? Do you think the submitter will just get used to what fields go with normal and what go with tumour?

@hknahal also, was there a reason the tumour_normal_designation was in the sample-registration file and not the specimen file?

from argo-dictionary.

wajiha-oicr avatar wajiha-oicr commented on August 12, 2024

@kcullion

These are the two error messages I wrote for this ticket. Please provide your feedback on them.

For a missing field

<missing field name> is a required field because the corresponding record in < the reference schema>.tsv had < the reference field name> set to <the reference field value>.

For example: "pathological_tumour_staging_system is a required field because the corresponding record in sample_registration.tsv had tumour_normal_desgination set to Tumour."

For when a value for a field was provided when it shouldn't have been

<provided field name> should not be filled in. This field must be left empty because the corresponding record in < the reference schema>.tsv had <the reference field name> set to <the reference field value>.

For example: "pathological_tumour_staging_system should not be filled in. This field must be left empty because the corresponding record in sample_registration.tsv had tumour_normal_desgination set to Normal."

from argo-dictionary.

kcullion avatar kcullion commented on August 12, 2024

Thanks @wajiha-oicr! well done :)

I think we have been making them more general and not related to the files. so I would suggest something consistent with the other errors (eg when submitter didn't specify cause of death)

pathological_tumour_staging_system must be provided when the tumour_normal_designation is Tumour.

and

pathological_tumour_staging_system should not be provided when the tumour_normal_designation is Normal.

from argo-dictionary.

kcullion avatar kcullion commented on August 12, 2024

@wajiha-oicr this is looking really good!
Confirmed with @christinayung - can you make percent_inflammatory_tissue required ONLY for tumour specimen

Thanks

from argo-dictionary.

kcullion avatar kcullion commented on August 12, 2024

Tested in production and just noticed a couple fields that weren't required if tumour. Made a new ticket icgc-argo/argo-docs#139

from argo-dictionary.

rosibaj avatar rosibaj commented on August 12, 2024

tested on prod - looks great!

from argo-dictionary.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.