imsweb / algorithms

Java implementation of cancer-related algorithms (NHIA, NAPIIA, Survival Time, etc...)
Other
6 stars 6 forks source link

Consider maintaining NAACCR numbers for non-standard output variables #140

Closed depryf closed 1 year ago

depryf commented 2 years ago

This library already defines the NAACCR (XML) ID for all the non-standard output variables.

The numbers were not added because we through difference dictionaries would use different numbers.

It turned out all the dictionaries that need to reference these variables end up using the same numbers.

Because of that, it will be easier for everyone if we start maintaining them in this project.

I will start by providing a list of non-standard variables.

depryf commented 2 years ago

@howew I think we should do this, but there were too many things happening for this next submission. I think we should address that after this next submission. The only thing that will be difficult to deal with is if we assigned a different number to different dictionaries; hopefully we didn't do that (if we did, some of the numbers will need to change).

I am going to put this on hold for a few months.

depryf commented 1 year ago

@howew just a reminder this is still on my list. I intend to come back to this very soon. I will start by listing all the non-standard fields and what number we assigned to them in the various user-defined dictionaries...

depryf commented 1 year ago

Here is the (current) list of non-NAACCR-standard items that are computed by the library along with the NAACCR number that we previously used in various user-defined dictionaries:

depryf commented 1 year ago

@howew this one might affect your software.

The only thing that would really break is if you are checking that the number is null as a way to recognize standard vs non-standard items. That won't work anymore because they all have a number now. That was replaced by an actual method "isNaaccrStandard()" on the field class.

As to the non-standard numbers, it's up to you how to use them:

The one thing to keep in mind is that whenever an algorithm is added and its sets some non-standard fields, we will need to create a number for those right away. It's not a bad thing IMO, just a slightly different process from before.