4/27/10

Changes for version 2.2.0

 Staging for some schemas (Breast, LymphomaOcularAdnexa, Testis) has been modified

 API documentation has been updated

o Documentation for CStage_calculate() and CStage_get_schema_number() has been updated

o Function descriptions, error conditions, and return values have been standardized

o Error flags now listed in C documentation

o Error constant CSTAGE_ERROR now listed in C documentation

 Added HTML documentation that maps schema selection by histology groups and site code groups (html\schema_selection.html)

 CStage_clear_datacard() now pads datacard derived outputs with blank strings of length equal to the NAACCR field. Prior versions set the derived outputs to the empty string (“”).

 CStage_calculate() now pads datacard derived outputs with blank strings of length equal to the NAACCR field when complete staging failure occurs. Prior versions set the derived outputs to the empty string (“”).

 Fixed validation of Age: non-numeric inputs are no longer allowed

 Modified validation of LVI: blank LVI is now considered valid when year of diagnosis < 2010 and CS Version Original < 020000. The reason for this change is that Lymph- vascular invasion was not a NAACCR field prior to NAACCR 12. This affects CStage_calculate() and CStage_validate_inputs().

 Added missing entry point to VB DLL for CStage_VB_get_table_id()

 Fixed schema selection with respect to blank strings: if a case requires a schema discriminator, a blank value will not be permitted even if it is present in the discriminator table. See below. Blank values in discriminator tables were intended for site codes that do not require a discriminator but belong to schemas that use a discriminator for some (but not all) of their sites. (ex: C161, C162 are discriminated sites for Stomach and EsophagusGEJunction. C160 and C163-C169 are not. Stomach uses sites C161, C162, C163-C169. All sites for Stomach use a common SSF25 table. The SSF25 value for sites C163-169 must come from the SSF25 table, therefore the SSF25 table must contain a default value for these sites.) They are not intended to be used for cases which require a discriminator.

Because of software and domain limitations, the discriminator tables will remain unchanged for v2.2.0. The behavior of the library has been modified to not select a schema if a discriminator is required and the supplied discriminator is a blank string. Vendors are encouraged to exclude blank codes from picklists for cases which require a schema discriminator and/or use EDITS to prevent this situation from occurring.

The following API functions are affected by the decision to disallow blanks:

 CStage_validate_inputs(): This function is unchanged. If a blank discriminator (SSF25) is supplied to the function, the function will treat it as valid if the input schema’s SSF25 table contains a blank. However, other API functions with different functionality may not treat blanks as valid.

 CStage_get_schema_number(): If a blank discriminator is supplied to the function and a discriminator is required for the site and histology, the function will return the same result as when an invalid code is supplied: an integer which indicates the location of the discriminator table. (For interactive workflows, API users should call CStage_get_schema_number() with a different, non-blank discriminator code. For non- interactive workflows, this result should be considered a failure.)

 CStage_calculate(): If a blank discriminator is supplied to the function and the case requires a discriminator, the function will halt and return an error.

o The function will return a negative number.

o The bit corresponding to DISCRIMINATORFAIL in the datacard.error field will be set

o The warning bit in the datacard.error field will not be set

o The datacard.messages buffer will contain a message indicating that the schema discriminator was not permitted. Note: the error message for failure to stage a schema because of invalid schema discriminator has been changed to “This combination of site and histology code requires a valid, non-blank schema discriminator.”